INSTALLING LESSTIF INSTALL,v 1.15 1997/11/18 19:08:05 改訂履歴 - オリジナルの執筆:1996年11月21日 - 「バイナリ配布」の加筆:1997年6月14日 伊藤浩己 訳 1998/4/19 18:45:01 翻訳履歴 - v 1.11:1998年2月11日 - v 1.15:1998年4月19日 序論 ------------ このドキュメントは種々のプラットホーム上における lesstif のコンフィ ギュレーション、コンパイル、及びインストール方法を説明したものです。 あなたが lesstif のバイナリバージョンを持っているか、またはそれに関 心があるならセクション 5.2 から読み始めてください。プリコンパイルされ たlesstif のバイナリバージョンをどこから持ってくるかなどを説明していま す。 目次: 1.始めに (lesstif をコンパイルするために何が必要か) 2.サポートされているプラットホーム 3.lesstif のコンフィギュレーション 4.lesstif のコンパイル 5.lesstif のインストール 6.終わりに (共有ライブラリを利用するには) このドキュメントに対して訂正、追加、批評があればどしどし lesstif@hungry.com にメールを送ってください。 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 --with-gcc はlesstif のコンパイルに GNU CC を使用するかデフォルトの システムCコンパイラを使用するかを指定してコンフィギュレーションさせる ことができます。「no」を指定した場合 gcc は使用されず、また「yes」を指 定した場合はシステムコンパイラは使用されません。通常このフラグを使用す ることはないでしょう。gcc があればデフォルトの引数は「yes」となり、gcc がインストールされていない場合は「no」になります。 --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 を使うことを勧めますがあなたの好きな方を使ってください。 --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 を読んでください。 --with-static はコンパイル時、静的ライブラリをビルドしたいときにコン フィギュレーションに指定します。もし共有ライブラリをビルドできるならば デフォルトは「no」になります。共有ライブラリがあなたのシステムでサポー トされていないか、或いは「--with-shared=no」を指定していれば静的ライブ ラリをビルドするように設定されます。またコマンドライン上で「-- with-static=yes」としても静的ライブラリをビルドするように設定されます。 「--with-static=yes」と「--with-shared=yes」の両方を指定することはで きますが、逆に「--with-static=no」と「--with-shared=no」を同時に指定す ることはできません。意識的にそれを行うとコンフィギュレーションは静的ラ イブラリーだけをビルドするように makefile を生成します。 --with-testXm は lesstif のビルドと同時に testXm ライブラリのテスト プログラムをビルドしたいときにコンフィギュレーションに指定します。ただ しこれを実行するとテストプログラムが数えきれないほどあるため、莫大な時 間と巨大なディスクスペース(特に --with-static を指定していた場合)が 必要です。この理由からデフォルトは「no」となっています。ただしデフォル トのままであっても testXm ディレクトリの(さらにそのサブディレクトリも 含めて) makefile は生成されるため、後で必要なときにいつでもテストをビ ルドし実行させることができます。 --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 を読み込むために、こ れらのファイルをあなた自身、又はルートでホームディレクトリにコンパイル やコピーをしてください: 7. ホームディレクトリに .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 8. 次のファイルをコピー: cp /usr/lesstif/lib/X11/app-defaults/Mwm . (訳者注:パッケージの違いでしょうか、私の場合は /usr/lesstif/clients/Motif-1.2/mwm/Mwm です) これによってパーソナルなリソースを設定できます。次の行はコメントを外 してください。なおこれは私が変更した例です: ダブルクリックがあまりに速く設定されていたのでそれを遅くしました: Mwm*doubleClickTime: 1000 自動的にマウスポインタがあるウィンドウにフォーカスを移します: Mwm*keyboardFocusPolicy: pointer 9. ホームディレクトリに以下のファイルをコピー cp /usr/lesstif/lib/X11/mwm/system.mwmrc .mwmrc (訳者注:これもパッケージの違いでしょうか、私の場合は /usr/lesstif/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 マニュアルのページはまだ供給されています) 10. startx を実行 これが誰かの助けになることを望んでいます。この説明書はもっと簡単にで きるかもしれませんが、あえて私は詳細にしました。lesstif に感謝します。 私は M*tif を学んでいますが遠く行かなければなりません。 Matt Simpson 5.2.4 OS/2 -------------- OS/2のバイナリ版は InfoZip ファイルで供給されます。X11ROOT でアー カイブを伸長してください。 6.終わりに(共有ライブラリを利用するには) ---------------------------------------------------- 共有ライブラリのコンフィギュレーションはシステム毎に異なります。以下 は共有ライブラリをサポートするシステムで実際に使用するための手順を説明 しています。 a. 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 <バイナリファイル名>」をタイプしてください。このバイナ リが依存する全ての共有ライブラリへのパスが出力されるでしょう。 b HPUX 9 追加するものは何もありません。リンカがバイナリを生成する時ライブラリ を確実に見つけることができるようにするだけです(-L フラッグ)。 c NetBSD/FreeBSD/OpenBSD Linux と同じです。 このドキュメントの訂正や追加は まで送ってください。 訳者より: この翻訳文書に対する意見、質問、御非難は まで御連絡下さい。特に Linux 以外のプラットホームの情報を求めてい ます。