  XFree86/OS2 を最初から再構築する際の注意
  Holger Veit
  Last modified 04 October 1998
  The X Japanese Documentation Project
  Last modified 11 February 1999
  ____________________________________________________________

  目次


  1. 前書き
  2. 必要なツール
  3. コンパイルとインストール


  ______________________________________________________________________

  1.  前書き

  X11 と XFree86 は初めは Unix ベースのシステム上で開発されました。Unix
  システムには通常、各種作業を行うための豊富なツールとユーティリティが用
  意されています。このようなツールは OS/2 ではインストールされないのです
  が、移植版が利用可能です。これらのツールは同じ名前の Unix 用ユーティリ
  ティと同じ機能を持っていることもありますが、微妙に機能が異なることもあ
  ります。このガイドでは、OS/2 上で最初からシステムを再構築しようと考え
  ている方のためのヒントを提供しています。

  エンドユーザ向け情報である「README.OS2」も読んで、最低限ここに書かれて
  いる環境変数の設定を行ってください。

  現時点では、利用可能な最新バージョンは XFree86-3.3.3 です。これは制限
  無しの完全なバージョンであり、ソースコードも全て付いています。3.3.3 は
  単なるバグ修正リリースではなく、新しいハードウェアもサポートしていま
  す。この中には OS/2 自身でさえサポートしていないものがあるかもしれませ
  ん。詳しくはリリースノートを参照してください。

  (あるハードウェアのサポート追加等で)XFree86 開発チームに参加したいと思
  われたなら、BOD@XFree86.org にリクエストを送ってください。しかし、その
  前にこのようなステップについてよく考えてください。というのも、作業がた
  くさんあるからです。XFree86-3.3.3 のソースコードをシステムのコンパイル
  方法のテスト例として使ってください。開発者になるためには、これを管理す
  る能力が基本的に必要です。


  2.  必要なツール


  筆者は必要な外部ツールの数を減らそうとしてきましたが、振り返ってみると
  あまりうまく行っていないようです。筆者は少なくとも、ネィティブの
  CMD.EXE シェルだけで全て行えるようにしようとしました。しかし、必要なソ
  フトウェアはまだたくさんあります。このソフトウェアのほとんどは
  hobbes.nmsu.edu または ftp.leo.org から anonymous ftp で入手することが
  できます。以下の買物リストを見れば、必要なものが分かるでしょう:


  o  gcc     EMX/gcc emx 0.9C patch4 以降

  o  gzip    GNU zip/unzip

  o  tar     GNU tar

  o  patch   Larry Wall さん作の patch ユーティリティ (注意: OS/2の同名
     のコマンドとは互換性はありません)

  o  install BSD/GNU install

  o  rm,mv,cp        GNU ファイルユーティリティ

  o  tee,..  GNU シェルユーティリティ

  o  groff   GNU nroff/troff

  o  sed     GNU sed ストリームエディタ

  o  grep    GNU grep

  o  gawk    GNU awk

  o  make    GNU make 3.71/3.72 (X332prog.zip に入っているものを使ってく
     ださい!)

  o  flex    GNU flex

  o  bison   GNU bison

  o  find    GNU find    (注意: OS/2 の同名のコマンドとは互換性はありま
     せん)

  バージョン番号を書いていない場合は、できるだけ新しいものを使ってくださ
  い。特に重要なのは EMX/gcc と GNU make だけです。2番目の gcc の実装も
  まだどこかのアーカイブから入手できるかもしれませんが、これは互換ではあ
  りません。

  これに加えて、XFree86 のソースが必要です。これは一般の XFree86 のリポ
  ジトリから入手することができます。/pub/XFree86/3.3/source といった名前
  であることが多いので、そのディレクトリを見てください。


  3.  コンパイルとインストール


  システム全体をコンパイルするためには、HPFS の空き領域が約 300MB 必要で
  す。このサイズには Postscript 形式や troff 形式のドキュメントの分は含
  まれていません。筆者はこれらをインストールしたことがありません。また、
  テスト用のサブツリーをインストールしたこともありません。


  1. 上記のユーティリティを全てインストールします。関連ドキュメントを参
     照してください。全てのユーティリティ(特に EMX)が正しく動作すること
     を確かめてください。

  2. 筆者と同じあるいは同様の構造を使うのは良い考えです。筆者はコンパイ
     ル用のパーティションに \x11 というディレクトリを作成し、全てのもの
     をこのツリーの下に置きました。筆者の場合には、初期状態のツリーで
     使ったディスク容量がディスク全体の半分未満だったので、このツリーの
     名前を \x11old に変え、新しいバージョンを同じディスクにコピー
     し、diff を取ることができました。完成したツリーは最終的にルートディ
     レクトリ xc の下に配置されるので、このディレクトリは \x11\xc になり
     ます。

  3. ファイルを展開するには通常、\x11 ディレクトリで

     gzip -dc file.tar.gz | tar xvf -


  コマンドを実行します。最後に "gzip: stdout Broken pipe" といううっとう
  しいですが、致命的ではないメッセージが出力されます。これは無視してくだ
  さい。

  4. その後、パッチをいくつか当てる必要があるようです。パッチは X コンソ
     ーシアムが出したものと、XFree86 プロジェクトが出したものがありま
     す。パッチを当てる前には、
           chmod -R a+rw \x11\xc



  を実行して、ツリー中のファイルを書き込み可能にしてください。

  5. パッチには added-XXX というファイルが付属しているはずです。このファ
     イルは新しく生成されるファイルを列挙したものです。 patch プログラム
     は新しいディレクトリをうまく作成できないので、先にディレクトリを作
     成しておく必要があります。存在する added-XXX それぞれについて、\x11
     で

     xc\config\util\added added-XXX


  行してください。利用できる added-XXX がない場合、このファイルは以下の
  手順で作成することができます:

        grep "\*\*\* xc/" patchfile >added-file



  テキストエディタで added-file を編集し、先頭の ***  と末尾のタイムスタ
  ンプを削除します(TAB を検索し、行末まで削除します)。この操作により、
  ファイルパスのリスト(1 行に 1 ファイル)が得られますが、これが added ユ
  ーティリティの入力となります。

  6. 次に、パッチを正しい順序で当てます。パッチを当てるには通常、 \x11
     ディレクトリで

           patch -p -E <patchfile 2>&1 | tee patchlog



  というコマンドを実行します。ただし、正しい patch コマンドを使ってくだ
  さい。OS/2 には名前が同じで機能が異なるユーティリティが存在します。よ
  く勧められる -s オプションは使わないでください。このオプションは patch
  のメッセージ出力を止めるので、patch のログに残される問題点を見られませ
  ん。リジェクトされ、適用されなかったパッチを見つけるには

        find \x11 -name *.rej -print
        find \x11 -name *# -print



  を実行します(注意: 違う機能を持つ別のコマンドが OS/2 にあります)。通常
  はこのような問題は起こらないはずなので、問題が起こった場合は何かミスを
  しています。最後に、次のコマンドを実行してオリジナルのファイルを消しま
  す。

        find \x11 -name *.orig -print -exec rm {} ;




  7. xc/config/cf ディレクトリに移動し、 xf86site.def を編集して必要な条
     件に合うようにします(たぶん、全ての X サーバをコンパイルするつもり
     はないでしょう)。いくつかの変更が必要で、以下に設定しなければなりま
     せん:

  o  PC98 サーバを無効にします(まだ無効にされていない場合)。PC98 (日本独
     自のマシン用の XFree86)はまだ動作しません。移植する人が日本から現わ
     れるのを待ってます!

  o  #define WacomSupport            NO #define ElographicsSupport
     NO どちらのオプションもまだサポートされていません。
  o  Tcl* and Tk* の設定を明示的に行う必要はありません。Tcl/Tk のランタ
     イムサポートを含む XFree86/OS2 のバイナリ全体がインストールされてい
     れば、適切なデフォルト値が他の設定ファイルで設定されます。

  o  #define BuildDynamicLoading   NO これは動作しません。

  8. xc\util\compress ディレクトリに移動し、そこで make compress.exe を
     実行します。これにより生成されたプログラムをパスが通っている場所に
     インストールします。筆者は OS/2 関連の ftp サーバにある移植が中途半
     端な compress プログラムで何度もつまづきました。この compress プロ
     グラムは標準入力/標準出力の読み書きに問題があります。ちゃんとしたも
     のを使わないと、圧縮したフォントが全て壊れてしまうので、インストー
     ル途中の段階(フォントの圧縮)でmkfontdir が core を吐くことになるで
     しょう。

  9. 環境変数 X11ROOT  を現在とは別のどこかに設定します。さもないと、イ
     ンストール処理で先にインストールしていた XFree86/OS2 が上書きされて
     しまいます。この環境変数が設定されていない場合、本ドキュメントの前
     書きまで戻ってください。何か忘れものをしています。

  10.
     xc/config/util/buildos2.cmd ファイルを xc ディレクトリにコピーしま
     す。2 回目以降の試みであれば、保存されているトップレベルの
     Makefile.os2 を Makefile にコピーして戻す必要があるかもしれません。

  11.
     この buildos2.cmd コマンドを xc ディレクトリで実行します。このコマ
     ンドは、このディレクトリにログファイル buildxc.log を作ります。

  12.
     コーヒーを飲みます。新しいコーヒーをコロンビアまで買いに行くともっ
     といいでしょう! マシン選択とハードウェアの馬力によって、コンパイル
     には 2 時間から 20 時間かかります。

  13.
     コンパイルが終了したら、ログファイルでエラーを調べ、問題があれば修
     正します。筆者は何とか問題なくシステム全体をコンパイルすることがで
     きたので、動作する設定は少なくとも 1 つはあると言えます。

           xmake install
           xmake install.man




  14.
     インストールの際にはちょっとした問題がいくつかあります:

     a. xdm ディレクトリと linkkit ディレクトリはコンパイルとインストー
        ルに失敗するでしょう。これは問題ではありませんし、残りのシステム
        にも影響を与えません。

     b. \XFree86\bin にインストールされる imake.exe には普通、不具合があ
        ります。最初に作成し、ソースツリーがあるドライブのルートディレク
        トリにインストールされる imake.exe は大丈夫です。したがって、単
        にこの \imake.exe を手動で \XFree86\bin にコピーしてください。い
        つかこの問題は修正されるかもしれません。

     c. XF86Setup はまだ移植されていないので、XFree86/OS2 で利用可能な
        Tcl/Tk の移植版を使っても動作しません。XF86Setup をネイティブの
        インストール用ツールで置き換えるという考えが筆者にはあったのです
        が、まだそのための時間が取れません。よかったら、XF86Setup を
        ちょっといじってみてください。

  というわけで、ご覧の通り、作業はとっても簡単でした :-)

  $XFree86: xc/programs/Xserver/hw/xfree86/doc/Japanese/OS2.Notes,v 1.1.2.1 1999/06/02 07:50:38 hohndel Exp $





  $XConsortium: OS2note.sgml /main/1 1996/02/24 10:08:59 kaleb $



























































