Lesstif のバージョンアップ


またしても xephem ネタですが. motif の互換ライブラリ lesstif については, わしのサイトでも ここで 紹介していますが, なんか, ようやく本家サイトでも紹介されています. 私がコンパイルした 1997年 8月当時は lesstif のバージョンは 0.81 だったの ですが, 今は 0.83 になっているので, なんとなく新しく入れ換えてコンパイル しなおしてみました.

コンパイルのやりかたは, これ と全く同じです. 結果の実行ファイルも同じものができます. 当たり前だ. ただ, このコンパイルの説明は, 今見るとけっこう不親切なので, ちょっと説明 しましょう.

lesstifをバージョンアップする時は, シンボリックリンクに注意して, 全部ちゃん と新しい方へのリンクになっている事を確認しよう. 前のバージョンへのリンク が残っていると, 新しいバージョンを読まない場合があるので.

ソースを展開したディレクトリで xmkmf というコマンドを実行すると, Imakefile というファイルを元に, Makefile を生成します. Makefile 及び, make については info とか, unix プログラミング環境 とか プログラミング 言語 Cとかの本を参照して下さい. info は xterm で info というコマンドを 実行すると出て来ます.

Makefile には, *.h とかがある場所をコンパイラに渡すための引数が, $CFLAGS=-I/usr/local/include とかで指定されています. これは, 最終的に,

$cc -O2 -o hoge hoge.c $CFLAGS
とかの行に渡されて, コンパイラはそのディレクトリを見に行きます. #include するファイルを探しに行くべきディレクトリは, -I のすぐあと(スペースをあけてはいけない)にパスを書きます. というわけで, Makefile の CFLAGS という変数に, 自分がライブラリや *.h ファ イルをインストールしたパスを書き加えると良いのです. ここで 書いた, Makefile を適当に手で直すというのは, そういう事です. 参考までに, -L/hoge/libhogeo とかは, リンクするライブラリのありかを コンパイラに教える引数です.

Makefile が正しく修正されたら, make できるはず. マシンにもよるが, make は 5から10分かかる.

Lesstif 0.81 では, 窓の閉じ方によって, ときどき core dump して死んでたの ですが, 0.83 になってからは死ななくなりました. 素晴らしい!