前書き
X11 と XFree86 は初めは Unix ベースのシステム上で開発されました。Unix
システムには通常、各種作業を行うための豊富なツールとユーティリティが用
意されています。このようなツールは OS/2 ではインストールされないのです
が、移植版が利用可能です。これらのツールは同じ名前の Unix 用ユーティリ
ティと同じ機能を持っていることもありますが、微妙に機能が異なることもあ
ります。このガイドでは、OS/2 上で最初からシステムを再構築しようと考え
ている方のためのヒントを提供しています。
エンドユーザ向け情報である「」も読
んで、最低限ここに書かれている環境変数の設定を行ってください。
現時点では、利用可能な最新バージョンは XFree86-3.3.3 です。これは制限
無しの完全なバージョンであり、ソースコードも全て付いています。3.3.3 は
単なるバグ修正リリースではなく、新しいハードウェアもサポートしています。
この中には OS/2 自身でさえサポートしていないものがあるかもしれません。
詳しくはリリースノートを参照してください。
(あるハードウェアのサポート追加等で)XFree86 開発チームに参加したいと思
われたなら、BOD@@XFree86.org にリクエストを送ってください。しかし、その
前にこのようなステップについてよく考えてください。というのも、作業がた
くさんあるからです。XFree86-3.3.3 のソースコードをシステムのコンパイル
方法のテスト例として使ってください。開発者になるためには、これを管理す
る能力が基本的に必要です。
必要なツール
筆者は必要な外部ツールの数を減らそうとしてきましたが、振り返ってみると
あまりうまく行っていないようです。筆者は少なくとも、ネィティブの
CMD.EXE シェルだけで全て行えるようにしようとしました。しかし、必要なソ
フトウェアはまだたくさんあります。
このソフトウェアのほとんどは
- gcc EMX/gcc emx 0.9C patch4 以降
- gzip GNU zip/unzip
- tar GNU tar
- patch Larry Wall さん作の patch ユーティリティ (注意: OS/2の同名のコマンドとは互換性はありません)
- install BSD/GNU install
- rm,mv,cp GNU ファイルユーティリティ
- tee,.. GNU シェルユーティリティ
- groff GNU nroff/troff
- sed GNU sed ストリームエディタ
- grep GNU grep
- gawk GNU awk
- make GNU make 3.71/3.72 (X332prog.zip に入っているものを使ってください!)
- flex GNU flex
- bison GNU bison
- find GNU find (注意: OS/2 の同名のコマンドとは互換性はありません)
バージョン番号を書いていない場合は、できるだけ新しいものを使ってくださ
い。特に重要なのは EMX/gcc と GNU make だけです。2番目の gcc の実装も
まだどこかのアーカイブから入手できるかもしれませんが、これは互換では
これに加えて、XFree86 のソースが必要です。これは一般の XFree86 のリポ
ジトリから入手することができます。/pub/XFree86/3.3/source といった名前
であることが多いので、そのディレクトリを見てください。
コンパイルとインストール
システム全体をコンパイルするためには、HPFS の空き領域が約 300MB 必要で
す。このサイズには Postscript 形式や troff 形式のドキュメントの分は含
まれていません。筆者はこれらをインストールしたことがありません。また、
テスト用のサブツリーをインストールしたこともありません。
- 上記のユーティリティを全てインストールします。関連ドキュメントを
参照してください。全てのユーティリティ(特に EMX)が正しく動作することを
確かめてください。
- 筆者と同じあるいは同様の構造を使うのは良い考えです。筆者はコンパ
イル用のパーティションに \x11 というディレクトリを作成し、
全てのものをこのツリーの下に置きました。筆者の場合には、初期状態のツリー
で使ったディスク容量がディスク全体の半分未満だったので、このツリーの名
前を \x11old に変え、新しいバージョンを同じディスクにコ
ピーし、diff を取ることができました。完成したツリーは最終的にルートディ
レクトリ xc の下に配置されるので、このディレクトリは
\x11\xc になります。
- ファイルを展開するには通常、\x11 ディレクトリで
gzip -dc file.tar.gz | tar xvf -
コマンドを実行します。最後に "gzip: stdout Broken pipe" といううっ
とうしいですが、致命的ではないメッセージが出力されます。これは無
視してください。
- その後、パッチをいくつか当てる必要があるようです。パッチは X コ
ンソーシアムが出したものと、XFree86 プロジェクトが出したものがあ
ります。パッチを当てる前には、
chmod -R a+rw \x11\xc
を実行して、ツリー中のファイルを書き込み可能にしてください。
- パッチには added-XXX というファイルが付属しているはずで
す。このファイルは新しく生成されるファイルを列挙したものです。
patch プログラムは新しいディレクトリをうまく作成できないので、先
にディレクトリを作成しておく必要があります。存在する
\x11 で
xc\config\util\added added-XXX を実
行してください。利用できる added-XXX がない場合、このファ
イルは以下の手順で作成することができます:
grep "\*\*\* xc/" patchfile >added-file
テキストエディタで After that you can apply the patches in the right order. Usually this
is done by a command
patch -p -E &1 | tee patchlog
from the \x11 directory. Be aware to use the right
patch - OS/2 has a utility with the same name and different functionality.
Don't use the recommended
find \x11 -name *.rej -print
find \x11 -name *# -print
to find any rejects and unapplied patches (attention: yet another OS/2
program with wrong functionality). Normally there shouldn't
be any problems of this kind, else you have made a mistake. Finally
remove the original files with
find \x11 -name *.orig -print -exec rm {} ;
-->
- 次に、パッチを正しい順序で当てます。パッチを当てるには通常、
\x11 ディレクトリで
patch -p -E &1 | tee patchlog
というコマンドを実行します。ただし、正しい patch コマンドを使っ
てください。OS/2 には名前が同じで機能が異なるユーティリティが存
在します。よく勧められる
find \x11 -name *.rej -print
find \x11 -name *# -print
を実行します(注意: 違う機能を持つ別のコマンドが OS/2 にあります)。
通常はこのような問題は起こらないはずなので、問題が起こった場合は
何かミスをしています。最後に、次のコマンドを実行してオリジナルの
ファイルを消します。
find \x11 -name *.orig -print -exec rm {} ;
- xc/config/cf ディレクトリに移動し、
xf86site.def を編集して必要な条件に合うようにします(たぶん、
全ての X サーバをコンパイルするつもりはないでしょう)。いくつかの変更が
必要で、以下に設定しなければなりません:
- PC98 サーバを無効にします(まだ無効にされていない場合)。PC98 (日
本独自のマシン用の XFree86)はまだ動作しません。移植する人が日本
から現われるのを待ってます!
- #define WacomSupport NO
#define ElographicsSupport NO
どちらのオプションもまだサポートされていません。
- Tcl* and Tk* の設定を明示的に行う必要はありません。Tcl/Tk
のランタイムサポートを含む XFree86/OS2 のバイナリ全体がインストー
ルされていれば、適切なデフォルト値が他の設定ファイルで設定されま
す。
- #define BuildDynamicLoading NO
これは動作しません。
- xc\util\compress ディレクトリに移動し、そこで
make compress.exe を実行します。これにより生成されたプログラ
ムをパスが通っている場所にインストールします。筆者は OS/2 関連の ftp
サーバにある移植が中途半端な compress プログラムで何度もつまづきました。
この compress プログラムは標準入力/標準出力の読み書きに問題があります。
ちゃんとしたものを使わないと、圧縮したフォントが全て壊れてしまうので、
インストール途中の段階(フォントの圧縮)でmkfontdir が core を吐くことに
なるでしょう。
- 環境変数 Copy the file xc/config/util/buildos2.cmd into the
- xc/config/util/buildos2.cmd ファイルを Execute this buildxc.log in this directory.
-->
- この buildxc.log を作ります。
- コーヒーを飲みます。新しいコーヒーをコロンビアまで買いに行くともっ
といいでしょう! マシン選択とハードウェアの馬力によって、コンパイルには
2 時間から 20 時間かかります。
- コンパイルが終了したら、ログファイルでエラーを調べ、問題があれば
修正します。筆者は何とか問題なくシステム全体をコンパイルすることができ
たので、動作する設定は少なくとも 1 つはあると言えます。
xmake install
xmake install.man
- インストールの際にはちょっとした問題がいくつかあります:
- xdm ディレクトリと linkkit ディレクトリはコンパイルとインストー
ルに失敗するでしょう。これは問題ではありませんし、残りのシステムにも影
響を与えません。
-
-
というわけで、ご覧の通り、作業はとっても簡単でした :-)
$XFree86: xc/programs/Xserver/hw/xfree86/doc/Japanese/sgml/OS2note.sgml,v 1.1.2.1 1999/05/25 06:39:17 hohndel Exp $
$XConsortium: OS2note.sgml /main/1 1996/02/24 10:08:59 kaleb $