INSTALLING LESSTIF lesstif@hungry.com v1.15, 1997/11/18 19:08:05 伊藤浩巳 v1.15j, 1998/04/19 18:45:01 このドキュメントは種々のプラットホーム上における lesstif のコンフィ ギュレーション、コンパイル、及びインストール方法を説明したものです。あ なたが lesstif のバイナリバージョンを持っているか、またはそれに関心が あるならセクション 5.2 から読み始めてください。プリコンパイルされ たlesstif のバイナリバージョンをどこから持ってくるかなどを説明していま す。このドキュメントに対して訂正、追加、批評があればどしどし less- tif@hungry.com にメールを送ってください。 JF より:この文書は、1998年4月19日以来、更新されていません。最新版は、 o をご覧ください。 1. 始めに (lesstif をコンパイルするために何が必要か) lesstif は Motif 1.2 のソースレベルコンパチブルとして代用可能なもので あることを意図しています。Motif 1.2 を動かす条件としては X11R5 が必要 です。Motif 1.2 と同様に lesstif もR4 以前ではコンパイルすることができ ません。X11R5 以上を持っているなら lesstif プログラムをコンパイルし走 らせることができますし、そうすべきです。 X11を(/usr/openwin を使わない)R5 にアップグレードしていない SUN SunOS 4.x は R4 が使用されており lesstif は使用できません。この件に関 するバグレポートは送らないでください。なにしろ R4 以前ではソースレベル コンパチブルな lesstif を書く方法がないからです。 lesstif をビルドするにはライブラリファイルとの依存関係を記述した makefile が必要です。これを作成するにはソースファイル間の依存関係を元 に makefile を生成する「makedepend」がなければなりません。R5 を搭載し ているマシンならば標準で付いているはずなのですが、見つからなかった場合 は ftp.x.org の /pub/R6 から取ってきてください。なお makedepend があっ たとしても設定したパス内になければ動きませんよ。 最後に lesstif をビルドするためには ANSI-C コンパイラーが必要です。 GNU CC があればなお結構です。 2. サポートされているプラットホーム 現在、 lesstif は以下のプラットホームでビルド、及び実行できることが 解っています: OS バージョン CPU コンパイラー Xバージョン ---------------------------------------------------------------------- Linux 2.0.25 Pentium GCC-2.7.2.1 X11R6.1 (XFree86-3.2) 486 GCC-2.7.1 X11R5 2.0.0 486 gcc-2.7.2 X11R6 (XFree86-3.2) 2.0.18 Alpha gcc-2.7.2 X11R6 2.0.20 68030 gcc-2.7.2 X11R6 (Xfree86-3.2) (他の 2.0.x カーネルでも試されています) MkLinux 2.0.21 PowerPC gcc-2.7.2 X11R6.1 Solaris 2.4 SPARC GCC-2.7.2.1 X11R5 2.5 SPARC GCC-2.7.2 X11R5 SunOS 4.1.4 SPARC GCC-2.7.2 X11R6.1 FreeBSD 2.1.5-RELEASE 386, 486 gcc-2.6.3 X11R6 2.1 Intel GCC-2.6.3 X11R6 2.2-SNAP Intel GCC-2.6.3 X11R6 2.2-961006-SNAP Pentium GCC-2.7.2.1 X11R6.1 OpenBSD 2.0 i486 GCC-2.7.2.1 X11R6.1 2.0 m68k(Sun3) GCC-2.7.2.1 X11R6 2.1 Pentium GCC-2.7.2.1 X11R6.3 (Xfree86-3.3) 2.1 Sparc GCC-2.7.2.1 X11R6.3 (w/NCD Xterm) 2.1 mvme68k GCC-2.7.2.1 X11R6.3 (w/NCD Xterm) NetBSD 1.2 m68k(Amiga 3000)GCC-2.7.2 X11R6.1 1.2(B) SPARC GCC-2.7.2 X11R6, X11R6.1 OS/2 Warp Pentium GCC-2.7.2(EMX) X11R6.1 (XFree86-3.2) Digital UNIX 4.0 Alpha GCC-2.7.2 X11R6 AIX 4.1.x ??(assume RS6K) gcc-2.6.? X11R5 3.25 ??(assume RS6K) gcc-2.6.?/cc X11R5 HP-UX 9.0.4 HP PA HP cc X11R5 SVR4 R40V4.3 mc88100 GCC-2.5.8 X11R5 ---------------------------------------------------------------------- 注釈: o Linux/ALPHA でのビルドは徹底的に試された訳ではありません。実際多く のコンパイラ警告が出ています。 o AIX でのビルドは最近確認されていません。 o SunOS でのビルドは最近確認されていません。 3. lesstifのコンフィギュレーション lesstif のコンフィギュレーションは今回 GNU autoconf によって処理され ています。[ヒストリカルノート:ある時期 Paul Hoad によって寄与された Imakefile パッケージを使用していましたが、現在このパッケージは使用して いません] あなたのシステムに適合させるために lesstif をコンフィギュレーションす るには「configure」とタイプするだけです。なおコンフィギュレーションは lesstif をビルドするために必要な設定を正確に実施するべきですが、冗長に 指定すると失敗する可能性があります。 コンフィギュレーションではあなたのマシン上から次の2つの項目を探しま す。 o X11R5/R6/R6.1 のヘッダーとライブラリ o Motif 1.2 のヘッダーとライブラリー(オプション) コンフィギュレーション中にこれらを見つけた場合は、どこにあったかを画 面に表示します。逆に見つけることができなかった場合はコンフィギュレー ションするために改めてコマンドライン上で下記のオプションを使ってパスを 指定してください。次の2つのオプションはX関連のパスを指定するために使 用してください: --x-includes --x-libraries また Motif 関連のパスを指定するには次を使用してください: --with-motif-includes --with-motif-libraries 注釈 :あなたのシステムに Motif がなくても心配する必要はありません。ク ライアント(mwm など)とテストプログラム(lesstif をインストールすると 同時に付いてきます)は lesstif か Motif のどちらかにリンクされていれば いいのです。なお Motif のバイナリは .motif の拡張子を持ち、lesstif が Motif 互換であることを確認するために使用することもできます。 これらのフラッグにはファイルのパスをセットしなければならないのです が、そのような場合は: configure --x-includes=/usr/local/X11R5/include の様に指定してください。他のフラグもこれと同様にパスを設定してくださ い。 注釈: コンフィギュレーションがシステム上の X 又は Motif を探し出せな かった時は、インクルードパスとライブラリパスの両方を指定しなければなり ません。 コマンドライン上で使用可能な他のフラグもあります。以下のフラッグに対 しては「yes」又は「no」を指定することができます: --with-gcc --with-gmake --with-shared --with-static --with-textXm --with-testMrm o --with-gcc は lesstif のコンパイルに GNU CC を使用するかデフォルト のシステムCコンパイラを使用するかを指定してコンフィギュレーション させることができます。「no」を指定した場合 gcc は使用されず、また 「yes」を指定した場合はシステムコンパイラは使用されません。通常この フラグを使用することはないでしょう。gcc があればデフォルトの引数は 「yes」となり、gcc がインストールされていない場合は「no」になりま す。 o --with-gmake は lesstif のコンパイルに GNU make を使用するようにコ ンフィギュレーションをします。もし「no」を設定した場合、あなたのシ ステム上の make を使用するように makefile を生成します。逆に「yes」 を設定した場合、 GNU make を使用するように makefile を生成します。 逆接的に言えば GNU make 用にコンフィギュレーションした場合は GNU make を使用しなければなりません。またシステム固有の make 用にコン フィギュレーションした場合はそのシステムの make を使用しなければな らないのです。 あるシステムには GNU make と同じ文法(少なくとも我々が使用する機能 において)で使用できる make が提供されています。確かに理論的には GNU make 用の makefile に対してその make を使用することが可能です が、我々としては推薦しません。あなたが実際にこの組合せで問題を生じ た時はその make と GNU make 両方で動かせるパッチが欲しいと思うで しょうが、そのシステム個有の make だけを使用しているならば我々には 依頼しないでください。 このフラッグのデフォルトは「no」です。ある OS にはビルドのプロセス を完了させるに十分な機能を供給できない make があります。それに該当 する以下のプラットホームでは GNU make だけがサポートされています: o IRIX (5.x と 6.x) o HPUX o AIX o DG/UX o OSF/1 (Digital Unix) これ以外の OS ならどちらでも選択することができます。我々は GNU make を使うことを勧めますがあなたの好きな方を使ってください。 o --with-shared はコンパイル時に共有ライブラリをビルドしたいときにコ ンフィギュレーションに指定します。共有ライブラリをビルドした場合、 テストプログラムは(テストプログラムをビルドするためのコンフィギュ レーション指定方法は後述されています)共有ライブラリにリンクし、 ディスクスペースを縮小します。可能ならば共有ライブラリを使用するこ とを推薦します。 共有ライブラリをビルドするにはコンパイラ(GNU CC 又はシステムの CC)とシステムの両方が共有ライブラリをサポートしている必要がありま す。次の表は共有ライブラリをビルドすることのできる OS とコンパイラ を示しています: OS GCC CC ----------------------------------- HPPA-HP/UX 9 YES* YES Linux YES** N/A FreeBSD YES N/A NetBSD YES N/A OpenBSD YES N/A AIX 3 YES YES IRIX 5.x/6.x YES YES DG/UX 5.x YES YES OSF/1 YES YES Solaris 2.x YES YES SunOS 4.x YES YES SysV YES YES * GCC はバージョン 2.7.0 以降より HPPA マシンのための position independent code( PIC )をサポートしています。つまりこのマシンで共有 ライブラリをビルドするためには 2.7.0 以降でなければなりません。 ** ELF 共有ライブラリは ELF 対応の gcc を使用する必要があります。なお a.out 用の共有ライブラリもまだ使用可能です。詳細はアーカイブ内の etc/README.linuxaout を読んでください。 o --with-static はコンパイル時、静的ライブラリをビルドしたいときにコ ンフィギュレーションに指定します。もし共有ライブラリをビルドできる ならばデフォルトは「no」になります。共有ライブラリがあなたのシステ ムでサポートされていないか、或いは「--with-shared=no」を指定してい れば静的ライブラリをビルドするように設定されます。またコマンドライ ン上で「 --with-static=yes」としても静的ライブラリをビルドするよう に設定されます。 「--with-static=yes」と「--with-shared=yes」の両方を指定することは できますが、逆に「--with-static=no」と「 --with-shared=no」を同時に 指定することはできません。意識的にそれを行うとコンフィギュレーショ ンは静的ライブラリーだけをビルドするように makefile を生成します。 o --with-testXm は lesstif のビルドと同時に testXm ライブラリのテス トプログラムをビルドしたいときにコンフィギュレーションに指定しま す。ただしこれを実行するとテストプログラムが数えきれないほどあるた め、莫大な時間と巨大なディスクスペース(特に --with-static を指定し ていた場合)が必要です。この理由からデフォルトは「no」となっていま す。ただしデフォルトのままであっても testXm ディレクトリの(さらに そのサブディレクトリも含めて) makefile は生成されるため、後で必要 なときにいつでもテストをビルドし実行させることができます。 o --with-testMrm は --with-testXm と同様なフラグですが、 testMrm ディレクトリに適用されます。 4. lesstif のコンパイル lesstif のコンフィギュレーション後、「make」とタイプするだけで全ての ライブラリ、クライアント(mwm など)及び lesstif 用のテストプログラム (オプション)をビルドすることができます。ライブラリだけ或いは他の一部 だけをビルドするには、cd でビルドしたいディレクトリに移動してから 「make」とタイプしてください。ライブラリが古い(又は既にコンパイルされ ている)時はそのライブラリがリコンパイルされるように設定されています。 又、テストディレクトリで「make」とタイプするとリビルドされるべきものは リビルドされるようになっています。 コンパイラとライブラリの一部の組合せではコード生成バグがあるかもしれ ません。例えば Solaris プラットホーム上の gcc-2.7.0 ではライブラリが -O ( -O1 )より高度な最適化でコンパイルすると問題が生じることがわかっ ています。ライブラリコードをデバッグした時に不思議な問題が生じた場合は より低位の最適化又は最適化を行わずに試してみてください。デバッグに関し ては GNU-C においてフラッグ -g をデフォルトとしてコンパイルするのが殆 どであり、よく確認されていますので問題はないでしょう。 5. lesstifのインストール 5.1. ソースからlesstif をビルドした場合のインストール lesstif のインストールは「make install」とタイプするだけです。インス トレーション後に共有ライブラリを得るには OS 毎に異なります。 5.2. バイナリ版 lesstif のインストール 自分自身でコンパイルせずに lesstif を使用したい人達に対するサービスと して、すぐに利用可能なビルド済みのバイナリ版 lesstif があります。我々 は lesstif を開発し改良させることに集中しています。そのためバイナリ版 はマイナーリリース期間のような余裕のある時期に実施することとしていま す。なお lesstif のリリースに関してはファイル「RELEASE_POLICY」に詳細 に述べています。 現在、バイナリ版には Linux 、 FreeBSD 、OS/2 用があります。 5.2.1. ソース、バイナリの入手先 lesstif の主要なファイルとして以下の3つが ftp://ftp.lesstif.org/pub/hungry/lesstif に置かれています: o ソースファイルのアーカイブ o 毎日のようにアップされる修正されたソースファイルのアーカイブ o バイナリ版のアーカイブ 5.2.2. FreeBSD 0.80a (0.80 のプレリリース版)から FreeBSD バイナリ配布は、 FreeBSD のインストレーションツールである pkg_add でインストール可能なファイル として提供されています。 pkg_add によって lesstif をインストレーションするとディレクトリ /usr/lesstif がまず作られ、それ以下に lesstif の全てが置かれます。 /usr/lesstif/README ファイルに説明していますが $path に /usr/lesstif/bin を組み込み、 LD_LIBRARY_PATH へ /usr/lesstif/lib を付 け加えるか /etc/rc に ldconfig のオプションを付け加えて下さい。さらに コンパイラ時にはコマンドラインに -I/usr/lesstif/include -L/usr/lesstif/lib を加えてインクルードファイルとライブラリのパスを明 示する必要があります。 後述の第6章を読んでください。 5.2.3. Linux 以下は Matthew Simpson より: lesstif バイナリ版インストール 以下は私の Redhat 4.2 Linux システムにバイナリ版 lesstif 0.82 をイン ストールするのに要した手順です。今までソースやバイナリ版 lesstif のイ ンストールをしたことがないので、今回が私にとって初めてのインストールで す。これは後日、文書化したものです。必要ならば校正してください。バイナ リ版のインストールは簡単です: 1. バイナリ版をダウンロードした後、ルートでログインしてから /usr にそ のファイルを置く。 2. gunzip で伸長: gunzip lesstif-0.82-linux.tar.gz 3. アーカイブから取得: tar -xvf lesstif-0.82-linux.tar 終了すると次のディレクトリが生成している: /usr/lesstif 4. 不必要ならば tar ファイルを除去: rm lesstif-0.82-linux.tar 5. /etc/ld.so.conf に伸長された lesstif ライブラリを指定する次の行を追 加: /usr/lesstif/lib 6. 次を実行 ldconfig lesstif ウィンドウマネージャー: デフォルトのウィンドウマネージャーを無視し mwm を読み込むために、これ らのファイルをあなた自身、又はルートでホームディレクトリにコンパイルや コピーをしてください: 1. ホームディレクトリに .xinitrc ファイルを設置し、最後の行に次を追加 して他のウィンドウマネージャーの呼出しを置き換える: eval "exec /usr/lesstif/bin/mwm" また適切なトラッキングを実施するにはその代わりに次の行を使用: eval "exec /usr/lesstif/bin/mwm" -debug >"$HOME"/.MWM-errors 2>&1 (> と 2>&1 構文のリダイレクション規則は私の startx スクリプトで使用 する sh 用であり、tcsh ではわずかに異なります)これはホームディレクト リのファイル(.MWM-errors)に全てのエラーをダンプします。エラーが何も 起きなければこのファイルは作られません。又このファイルがすでに存在して いる場合、新しいエラーはそのファイルに追加されます。新しいファイルをロ グインやxウィンドウを起動するたびに得るためには以下の行を .login 又は startx ファイルに加えてください: rm -f $HOME/.MWM-errors ログイン時にウィンドウマネージャーを自動的に実行するために .login ファ イルの最後に以下のスクリプトを追加してください(これは tcsh を使用して います): if ( ! -e /tmp/.X0-lock ) then echo "Starting X Windows..." rm -f $HOME/.MWM-errors startx endif 2. 次のファイルをコピー: cp /usr/lesstif/lib/X11/app-defaults/Mwm . (訳者注:パッケージの違いでしょうか、私の場合は /usr/less- tif/clients/Motif-1.2/mwm/Mwm です) これによってパーソナルなリソースを設定できます。次の行はコメントを外 してください。なおこれは私が変更した例です: o ダブルクリックがあまりに速く設定されていたのでそれを遅くしまし た: Mwm*doubleClickTime: 1000 o 自動的にマウスポインタがあるウィンドウにフォーカスを移します: Mwm*keyboardFocusPolicy: pointer 3. ホームディレクトリに以下のファイルをコピー cp /usr/lesstif/lib/X11/mwm/system.mwmrc .mwmrc (訳者注:これもパッケージの違いでしょうか、私の場合は /usr/less- tif/clients/Motif-1.2/mwm/system.mwmrc です) 共有ライブラリのコンフィギュレーションはシステム毎に異なります。以下 system.mwmrc から .mwmrc にリネームしなければならないことに注意してく ださい。このファイルでパーソナルなルートメニューを設定できます。あなた が XFree86 を使用しているならば /usr/X11R6/bin を見ながらルートウィン ドウのプルダウンメニューに載せたいインストール済みのアプリケーションを 確認してください。メニューとサブメニューは望むだけ加えることができま す。/usr/X11R6/bin がパスとして設定されていれば .mwmrc 内ではフルパス 名で記述する必要はありません。他のディレクトリ中のアプリケーションはパ スを必要とするか或いはソフトリンクが設定されていることでしょう。 私は上記2つのファイル設定に際して利用可能な lesstif の mwm 用マニュ アルを持ち合わせていませんでした。でもあなたが仕事で利用できる Unix と Motif (SGI 製品の様な)があるなら、mwm の man を実行し、参考のために それをプリントしてみてください。それはほとんど lesstif の mwm にもあて はまります。(たとえ SGI が 4Dwm と呼ばれるバージョンを使用していて も、 IRIX 6.2 release では mwm マニュアルのページはまだ供給されていま す) 4. startx を実行 これが誰かの助けになることを望んでいます。この説明書はもっと簡単に できるかもしれませんが、あえて私は詳細にしました。lesstif に感謝し ます。私は M*tif を学んでいますが遠く行かなければなりません。 Matt Simpson 5.2.4. OS/2 OS/2のバイナリ版は InfoZip ファイルで供給されます。 X11ROOT でアー カイブを伸長してください。 6. 終わりに(共有ライブラリを利用するには) 共有ライブラリのコンフィギュレーションはシステム毎に異なります。以下 は共有ライブラリをサポートするシステムで実際に使用するための手順を説明 しています。 6.1. Linux linux の下で使用可能な共有ライブラリを得る2つの方法があります: 1. LD_LIBRARY_PATH 環境変数の使用。 2. ldconfig の使用。 2番目のオプションはスーパーユーザーでアクセス可能な人々にだけ使用可 能です。それができない人、或いは特にライブラリを利用したいがためにビル ドするだけ(テストとして実行するためなど)の人は1番目の LD_LIBRARY_PATH 変数を使用してください。 LD_LIBRARY_PATH 変数は共有ライブラリの検索用として、コロンで区切られ たパスのリストを含んでいます。この変数は ldconfig によるコンパイル情報 よりも前に読み込まれます。よってシステムに lesstif がインストールされ ていれば、目的のライブラリを強制的に利用させるためにこの変数を使用する ことができます。 LD_LIBRARY_PATH のセッティング例: $ LD_LIBRARY_PATH=/home/toshok/lesstif/libXm\ :/home/toshok/lesstif/libMrm $ export LD_LIBRARY_PATH あなたがスーパーユーザーのアクセス権を持ち、システム全体に対して lesstif をインストールしたいと思っているならば、インストールされたライ ブラリのディレクトリが /etc/ld.so.conf 内に含まれていることを確認して ください。さらにライブラリを利用できるようにするためにルートから 「ldconfig -v」をタイプしてください。 どのライブラリが使われているか不明な時は「ldd」コマンドで確認すること ができます。lesstif によって動的にリンクされた実行可能なバイナリを生成 した後に「ldd <バイナリファイル名>」をタイプしてください。このバイナリ が依存する全ての共有ライブラリへのパスが出力されるでしょう。 6.2. HPUX 9 追加するものは何もありません。リンカがバイナリを生成する時ライブラリ を確実に見つけることができるようにするだけです(-L フラッグ)。 6.3. NetBSD/FreeBSD/OpenBSD Linux と同じです。 7. あとがき このドキュメントの訂正や追加は まで送ってくださ い。 7.1. 日本語訳について 訳者より: この翻訳文書に対する意見、質問、御非難は まで御 連絡下さい。特に Linux 以外のプラットホームの情報を求めています。 (sgml conversion, y.senda, 2001/09)