Japanese only. Character encoding is ISO-2022-JP (JIS).
Lynx is recomended.
Last modified: Fri Mar 19 16:36:35 JST 1999
X11やXFree86をコンパイルしてみよう
このページではXのコンパイル方法について書いておきます。XFree86はパッケージが存在するので個人で使うならコンパイルする必要がないかもしれません。しかし、研究室の管理者ならば過去の環境に合わせるなどサイト特有の設定がいろいろあるので、このメモが無駄という事もないでしょう。
XFree86 3.3.3.1編
ここではXFree86 3.3.3.1を例に作ってみます。まずはREADMEとRELNOTESを読んで何が変わったのか確認しましょう。doc/BUILDも読んで作り方をざっと確認しましょう。
ソースを展開する
まずは必要なソースを展開します。
X333src-1.tgz
バイナリとライブラリのソース
X333src-2.tgz
フォント
X333src-3.tgz
ドキュメント
の中から必要なものだけ展開します。これを3.3.3.1にするために
3.3.3-3.3.3.1.diff.gz
を当ます。パッチファイルを見ればパッチの当て方も書かれています。Xのコンパイルは非常にディスクを消費します。X333src-1.tgzをコンパイルするだけでも150MB弱ディスクを消費しますのでディスクの空き容量に気をつけてください。さらに、XでTrueTypeフォントを使えるようにするなら
X-TrueType Server Project
からX-TTのパッチを取ってきて当ててください。1999/03/10現在では
xtt-1.2.tar.gzと
xtt-1.2-to-1.2.1.tar.gz
が最新です。他にもxauthのパッチなど必要なものはどんどん当ます。X-TTを使うためにはfreetypeのライブラリが必要になります。XF86Setupを作るためにはTcl/Tkが必要になります。(でもこれらをコンパイルするにはXが必要になります。:-)
% tar xzf X333src-1tar.gz
% tar xzf X333src-2.tar.gz
% zcat 3.3.3-3.3.3.1.diff.gz | patch -p0
% tar xzf xtt-1.2.tar.gz
% tar xzf xtt-1.2-to-1.2.1.tar.gz
% patch -p0 < xtt-1.2/shared-libfont-1.0.diff
% patch -p0 < xtt-1.2/xfs-for-delayed-font-1.0.diff
% patch -p0 < xtt-1.2/make-xfs-only-1.1.diff
% patch -p0 < xtt-1.2/xtt-xf333-changes.diff
% tar xf xtt-1.2/xtt-core.tar -C xc/lib/font
% patch -p0 < xtt-1.2/contribute/xtt-xfsft-lib.patch
% patch -p0 < xtt-1.2-to-1.2.1/xtt-core.diff
% find xc -name '*.rej' -print
configファイルを書く
xc/config/cfにコンフィグファイルが沢山あります。
この中で編集するのは主にsite.defとhost.defですが、さらにXFree86はxf86site.def、X-TTはxttsite.defもあります。
site.defにはそのサイトに特有の設定を書き、host.defにはホスト特有の設定を書きます。
さらに、FreeBSDでccでなく自分で入れたgccを使ってくれるようにFreeBSD.cfを変更してます。
Tcl/TkやFreeTypeのライブラリのRunPathを埋め込むためにImake.tmplも編集します。
これはUSRLIBDIRPATHに$(TCLLIBDIR):$(TKLIBDIR):$(FREETYPELIBDIR)を追加しているだけです。LD_RUN_PATHに付くか-Rに付くかはconfigまかせです。
make World
では make World >& world.log & して寝ましょう。Cyrix MII-300GPならローカルディスクで作成して1時間ぐらいで出来上がりました。3.3.2を作ったときはPentium166MHzで2時間半ぐらいだったと記憶しています。起きて出来上がっていたらworld.logの開始時間と終了時間を見て感慨に耽ってください。
X11R6.4 fix03編
Solaris 2.6とSunOS 4.1.4とHP-UX 10.10で作ります。NEWS-OS 4.1.2[CR]はR6.1以降がコンパイルできません(泣)。さようならNEWS。Solaris7はまだきちんと環境を整えていないので保留です。
ソースを展開してパッチをあてる
まずは必要なソースを展開します。
tog1.tgz
バイナリとライブラリのソース
tog2.tgz
フォント
tog3.tgz
ドキュメント
tog4.tgz
ドキュメント
の中から必要なものだけ展開して済ませたかったのですが、パッチを当るときにファイルがないとうっとうしいので全部展開してしまった方が楽です。これは相当ディスクを消費しますので気をつけてください。展開したらパッチをガリガリあてます。ちゃんと各パッチ先頭の説明を読みましょう。1999/03/10現在では
fix-01
と
fix-02
と
fix-03
があります。
% tar xzf tog-1.tar.gz
% tar xzf tog-2.tar.gz
% tar xzf tog-3.tar.gz
% tar xzf tog-4.tar.gz
% patch -p -s < fix-01
% patch -p -s < fix-02
% patch -p -s < fix-03
% find xc -name '*.rej' -print
configファイルを書く
site.defにいろいろ書きます。
ProjectRootは/usr/local/X11R6.4にします。
Solaris 2.6は/usr/ccs/bin/makeではmakeできません。
HP-UX以外はgccでコンパイルします。
全アーキテクチャでconfigが共有できるよう、#ifの嵐になっています。
井上 敬介 / keisuke@am.ics.keio.ac.jp