  INSTALLING LESSTIF
  lesstif@hungry.com
  v1.15, 1997/11/18 19:08:05
  伊藤浩巳 <hiromi@marimo.or.jp>
  v1.15j, 1998/04/19 18:45:01

  このドキュメントは種々のプラットホーム上における lesstif のコンフィ
  ギュレーション、コンパイル、及びインストール方法を説明したものです。あ
  なたが lesstif のバイナリバージョンを持っているか、またはそれに関心が
  あるならセクション 5.2 から読み始めてください。プリコンパイルされ
  たlesstif のバイナリバージョンをどこから持ってくるかなどを説明していま
  す。このドキュメントに対して訂正、追加、批評があればどしどし less-
  tif@hungry.com にメールを送ってください。

  JF より：この文書は、1998年4月19日以来、更新されていません。最新版は、

  o  <http://www.lesstif.org/INSTALL.html>

     をご覧ください。

  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             コンパイラー    Ｘバージョン
  ----------------------------------------------------------------------
  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 をビルドするために必要な設定を正確に実施するべきですが、冗長に
  指定すると失敗する可能性があります。

   コンフィギュレーションではあなたのマシン上から次の２つの項目を探しま
  す。

  o  X11R5/R6/R6.1 のヘッダーとライブラリ

  o  Motif 1.2 のヘッダーとライブラリー（オプション）

   コンフィギュレーション中にこれらを見つけた場合は、どこにあったかを画
  面に表示します。逆に見つけることができなかった場合はコンフィギュレー
  ションするために改めてコマンドライン上で下記のオプションを使ってパスを
  指定してください。次の２つのオプションはＸ関連のパスを指定するために使
  用してください：

       --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

  の様に指定してください。他のフラグもこれと同様にパスを設定してくださ
  い。

  注釈： コンフィギュレーションがシステム上の Ｘ 又は Motif を探し出せな
  かった時は、インクルードパスとライブラリパスの両方を指定しなければなり
  ません。

   コマンドライン上で使用可能な他のフラグもあります。以下のフラッグに対
  しては「yes」又は「no」を指定することができます：

       --with-gcc
       --with-gmake
       --with-shared
       --with-static
       --with-textXm
       --with-testMrm

  o

      --with-gcc は lesstif のコンパイルに GNU CC を使用するかデフォルト
     のシステムＣコンパイラを使用するかを指定してコンフィギュレーション
     させることができます。「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 の主要なファイルとして以下の３つが
  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 を加えてインクルードファイルとライブラリのパスを明
  示する必要があります。

   後述の第６章を読んでください。

  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 を読み込むために、これ
  らのファイルをあなた自身、又はルートでホームディレクトリにコンパイルや
  コピーをしてください：

  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）に全てのエラーをダンプします。エラーが何も
  起きなければこのファイルは作られません。又このファイルがすでに存在して
  いる場合、新しいエラーはそのファイルに追加されます。新しいファイルをロ
  グインやｘウィンドウを起動するたびに得るためには以下の行を .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 内ではフルパス
  名で記述する必要はありません。他のディレクトリ中のアプリケーションはパ
  スを必要とするか或いはソフトリンクが設定されていることでしょう。

   私は上記２つのファイル設定に際して利用可能な 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

   ＯＳ/２のバイナリ版は InfoZip ファイルで供給されます。 X11ROOT でアー
  カイブを伸長してください。

  6.  終わりに（共有ライブラリを利用するには）

   共有ライブラリのコンフィギュレーションはシステム毎に異なります。以下
  は共有ライブラリをサポートするシステムで実際に使用するための手順を説明
  しています。
  6.1.  Linux

   linux の下で使用可能な共有ライブラリを得る２つの方法があります：

  1. LD_LIBRARY_PATH 環境変数の使用。

  2. ldconfig の使用。

   ２番目のオプションはスーパーユーザーでアクセス可能な人々にだけ使用可
  能です。それができない人、或いは特にライブラリを利用したいがためにビル
  ドするだけ（テストとして実行するためなど）の人は１番目の
  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.  あとがき

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

  7.1.  日本語訳について

  訳者より：

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

  (sgml conversion, y.senda, 2001/09)

