xephem-3.2.3


久々に xephem のサイトに行ったら, 新しいバージョンが出ていたので, ダウンロードしてみた. なんと, 日本にもミラーサイトができていて ダウンロードも速まっており, 具合良かった, 国立天文台のミラーサイトだったので, *.ac ドメインからなら, すげえ近いぞ. 商用ネットからは, どうか知らないが. 3.2.2 からの変更は, バグフィクスとユーザインターフェースの ちょっとした改善である.

xephem のサイトをみたところ, lesstif も新しいのが出ているようなの で, それも取って来てインストールした. lesstif の日 本のミラーはここだ. kdd なんで, すげえ速いっす. lesstif はでかいので, 速いとありがたい.

つうわけで, 今回は xephem のインストールですかね. xephem については, わしも ここらへん に記事を書いていますが,要するにグラフィカルな天文ソフトなのです. 作者が天文学者なので(そうだよな?)なかなか理系度高まっており, 「お星様とワタシ」みたいな感じはゼロなんですが, 天文ガイドとかハッブル望遠鏡とかにドキドキしてしまう, 理科系風の天文ファンの皆様には, 悪くないデキだとおもいますよ.

つうか, 赤緯/赤経 とか 歳差とか, なんかそういう用語あるじゃないす か. 天文関係の. 実視等級とか. メニューその他の表示が, そういう用語(しかも英語で, そのうえ略語)全開なので, 天文関係において完全シロートという人が使いこなすには, ちと学習が必要かも. つうか, そういや「天文ガイド」でも, 「初心者です. この雑誌, 激ムズ. 読んでも全然わかりましぇーん」みたいな投稿がたまにのってたりして, どうやってタコを救済するか, みたいな話題があったりしてたなあ. 天文って, Linux なんかと同様の, 専門性全開ホビーだからね. 噂では, MIT の鉄研も, そうだったらしいが.

居ないと思いますが, lesstif をインストールしてないひとは, とりあえずこれのインストールから始めてくれ. lesstif がインストールされてるかどうか, わかんねえひとは, /etc/ld.so.conf に載ってるディレクトリに libXm.so.?? が 存在しているのを確認してください. あればインストールされており, 無ければダメにつき, 上記 kdd のミラーよりインストールするがよい. 私は, 0.89.4 をインストールしました. 0.89 以前のは, xephem で使っていると, 死ぬバグがあって かなりアレな感じでしたね. せっかく新しいのをリリースしてくれてるん だから, 新しいのがお勧めですね.

lesstif のインストールは, .deb を入れるとか, .rpm を入れるとかで良いのですが, そういうのが無い人(俺とか)は自分でコンパイルです. コンパイルは全然楽勝ですが, 少々時間がかかりますね. やりかたは, ソースファイルを展開したら, 書いてあります. 最近のバージョンは, インストールすると何故か mwm まで インストールされてしまい, 若干アレな感じ. てゆうか, fvwm を使っていた古株(今なら, そういうことに なってしまうのかなあ)のひとならば, これが 本物の mwm ということで, 若干意義深いかも. 思い起こせばその昔, 学部の頃の環境も mwm でした. X のインストールが一子相伝だったころの話じゃ.

xephem のインストールは, lesstif よりも若干めんどくさいです. といっても, デビヤーン ならバイナリがあるという話を聞きました. すげえっすね. でびやん.

パッケージを展開したら, libastro と GUI/xephem という 2つのディレクトリが できているはず. それぞれで xmkmf && make とやります. これでコンパイルは終了. インストールは GUI/xephem で make install なのですが, これでいきなり xephem といっても動きません(死). インストールは, このあと

  1. リソースの設定
  2. データベースのインストール
  3. ヘルプとかロゴのインストール
と続きます.

リソースの設定は, GUI の方に XEphem.ad というファイルがあるので, これを /usr/X11R6/lib/X11/app-defaults というディレクトリにコピーす る(ホストの全ユーザに有効な設定を作る場合)か, あるいは, そのまま ユーザの .Xdefaults(とか .Xresouces とか, なんかしらんけど, そういう ファイル, あるでしょ?)に追加します. 後者は, そのユーザでのみ 有効な設定になるでしょう.

リソースファイルは, 基本的にそのままでオッケーなのですが, 唯一自分で設定しないといけないところは, データベースの場所です. XEphem.ShareDir というエントリを設定するのだ. このエントリは, データベースやらなんやらを置いておく 親ディレクトリの設定なのである. だから, たとえば

XEphem.ShareDir: /usr/local/xephem
みたいな感じに書くのじゃ.

上で設定したディレクトリの下に, auxil catalogs fifos tools というディレクトリを掘ります. catalogs の下に, パッケージに付いていたデータベース(*.edb というファ イル達)をコピーする. 要するに, GUI/xephem/catalogs の中身を そのまま持って来りゃいいのだよ. これで, データベースのインストールはおわり.

ヘルプとかロゴは GUI/xephem/auxil の中身をそのまま持って来る. cp -r してちょうだい. てゆうか, そういうのをやってくれないんだったら, いったい make install って何なんだ? って感じで, 若干謎まってます. ほんとは, Imake にちゃんと書けばやってくれるのか? やってないから判らん. まあいいや.

リソースを設定したにも関わらず, 何か設定が反映されないなあ, とお悩みのあなたには, xrdb -query がお勧めです. 設定が反映されてないかも. とりあえず, ゴマかすなら, xrdb -merge [リソースファイル名] というコマンドを実行してから xephem を起動しなおす. 抜本的な改革は, .xsession か .xinitrc に 上の -merge の奴を 書き足すと, 次にログインしたときに, 設定がちゃんと有効になるであろ う. この説明で判んない人は, JF で検索してくれっす.

今気づいたんだが, どうも太陽系的物体(彗星とかそういうやつ. 2次曲線軌道を辿る一族)の データベースを読み込んでいる状態で, 月や惑星(火星とか土星とか)の窓を出したとき, 「背景として正確な星空を表示」というのにしとくと, SIGSEGV でとびます. 3.2.2 も 3.2.3 もとびます. いわゆる一つのグーバーです. 昔のバージョンでは, そういう不具合は無かったんだけどなあ. どうしたんだろう.

えー. 散々いじくったあげく判ったのは, どうも egcs のバグみたいです. 私の使っているのは, egcs-1.0.3 ですが, コレが悪さしてたようですわ. libastro のコンパイルでの最適化が焦点ですね. -O2 はダメです. -O ならどうかな? あ. ダメですねえ. 腐ってますねえ. 決めウチで, -g のみ. Vine に付属の gcc version egcs-2.90.29 980515 (egcs-1.0.3 release) を使う場合は, libastro のコンパイルは, 最適化オプション 無しということですな. GUI というか, 本体の方のコンパイルは -O2 でもなんでも付けてかまいま せん. 他のコンパイラ(gcc-2.7.2.x とか gcc-2.95.x)は, 使ってないのでちょっと判りません.

gcc-2.7.2.3 を使ってみた

大丈夫です. 死にません. というわけで, このプログラムだけ gcc でコンパイルしたものをインストー ルした. いくら egcs といえども, -O が使えなければ全然遅いっす. てゆうか, xephem は cpu (それにメモリも)喰いなのでわざわざ遅いコードを吐かれると, ちと辛い.

ノートパソコンとかの人には, デフォルトのリソース設定だと 星空窓が画面からはみ出てダメまった感じです. 800x600 用に設定した私の使っているリソースは こんな感じです. よかったらどうぞ. あちこちからダウンロードしてきたいろんなデータベースを 読み込む設定になっているので, 自分が持ってないデータベース に関しては, 適当に削って下さい. あと, 色が 3.0 系の茶色になってます.