システム全体をコンパイルするためには、HPFS(または NFS, JFS, ext2fs) の 空き領域が約 300MB 必要です。このサイズには Postscript 形式や troff 形 式のドキュメントの分は含まれていません。筆者はこれらをインストールした ことがありません。また、テスト用のサブツリーをインストールしたこともあ りません。
\x11
というディレクトリを作成し、
全てのものをこのツリーの下に置きました。筆者の場合には、初期状態のツリー
で使ったディスク容量がディスク全体の半分未満だったので、このツリーの名
前を \x11old
に変え、新しいバージョンを同じディスクにコ
ピーし、diff を取ることができました。完成したツリーは最終的にルートディ
レクトリ xc
の下に配置されるので、このディレクトリは
\x11\xc
になります。\x11
ディレクトリで
gzip -dc file.tar.gz | tar xvf -コマンドを実行します。最後に "gzip: stdout Broken pipe" といううっ とうしいですが、致命的ではないメッセージが出力されます。これは無 視してください。
chmod -R a+rw \x11\xcを実行して、ツリー中のファイルを書き込み可能にしてください。
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 ユーティリティの入力となります。\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 {} ;
xc\config\cf
ディレクトリに移動し、
\x11bsol;xcbsol;programsbsol;Xserverbsol;hwbsol;xfree86bsol;etcbsol;bindistbsol;OS2bsol;host.def.os2
ファイルを xc/config/cf/host.def
にコピーし、これを必要な条件
に合わせて編集します(たぶん、全ての X サーバをコンパイルすることはない
でしょう)。いくつかの変更は必須であり、以下の値に設定しなければなりま
せん:
#define BuildDynamicLoading NO
これは動作しません。xc\util\compress
ディレクトリに移動し、そこで
make compress.exe
を実行します。これにより生成されたプログラ
ムをパスが通っている場所にインストールします。筆者は OS/2 関連の ftp
サーバにある移植が中途半端な compress プログラムで何度もつまづきました。
この compress プログラムは標準入力/標準出力の読み書きに問題があります。
ちゃんとしたものを使わないと、圧縮したフォントが全て壊れてしまうので、
インストール途中の段階(フォントの圧縮)でmkfontdir が core を吐くことに
なるでしょう。X11ROOT
を現在とは別のどこかに設定します。さもな
いと、インストール処理で先にインストールしていた XFree86/OS2 が上書き
されてしまいます。この環境変数が設定されていない場合、本ドキュメントの
前書きまで戻ってください。何か忘れものをしています。xc/programs/Xserver/hw/xfree86/etc/bindist/OS2/host.def.os2
ファイルを xc/config/cf/host.def
にコピーします。このファイル
は、xfree86.cf, imake.tmpl, os2.cf ファイルを直接編集せずに imake 編集
に固有の変更を加えるために用います。xc/config/util/buildos2.cmd
ファイルを xc
ディレク
トリにコピーします。2 回目以降の試みであれば、保存されているトップレベ
ルの Makefile.os2 を Makefile にコピーして戻す必要があるかもしれません。buildos2.cmd
コマンドを xc
ディレクトリで実行しま
す。このコマンドは、このディレクトリにログファイル
buildxc.log
を作ります。
注意: 配布物を Unix tar 形式のアーカイブから取り出した場合には、この
コマンドは即座に失敗するでしょう。残念なことに、OS/2 の REXX インタプ
リタには、Unix 流の改行コードを使っているスクリプトで問題を起こします。
ですから、ツリー全体を調べ、unix2dos や unixtoos2 に代表されるプログラ
ムを使って *.cmd ファイルを "OS/2 ASCII" 形式にしてください。xc
ディレクトリで次のコマンドを実行します:
xmake install xmake install.man
\XFree86\bin
にインストールされる imake.exe には普
通、不具合があります。最初に作成し、ソースツリーがあるドライブのルート
ディレクトリにインストールされる imake.exe は大丈夫です。したがって、
単にこの \imake.exe
を手動で \XFree86\bin
に
コピーしてください。いつかこの問題は修正されるかもしれません。XF86Setup
はまだ移植されていないので、XFree86/OS2 で利用可
能な Tcl/Tk の移植版を使っても動作しません。XF86Setup をネイティブのイ
ンストール用ツールで置き換えるという考えが筆者にはあったのですが、まだ
そのための時間が取れません。よかったら、XF86Setup をちょっといじってみ
てください。というわけで、ご覧の通り、作業はとっても簡単でした :-)
$XFree86: xc/programs/Xserver/hw/xfree86/doc/sgml/OS2note.sgml,v 3.4.2.7 1999/12/20 12:55:51 hohndel Exp $ $XConsortium: OS2note.sgml /main/1 1996/02/24 10:08:59 kaleb $