次のページ 前のページ 目次へ

INSTALLING LESSTIF


INSTALL,v 1.15 1997/11/18 19:08:05
改訂履歴
- オリジナルの執筆:1996年11月21日
- 「バイナリ配布」の加筆:1997年6月14日

伊藤浩己 <hiromi@marimo.or.jp> 訳 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 <msimpson@wans.net> より:
    
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 と同じです。


このドキュメントの訂正や追加は<lesstif@hungry.com> まで送ってください。


  訳者より:
     この翻訳文書に対する意見、質問、御非難は <hiromi@marimo.or.jp>
     まで御連絡下さい。特に Linux 以外のプラットホームの情報を求めてい
     ます。













次のページ 前のページ 目次へ