雑記 - Plamo 4.22 への Xorg7.3 のインストール Diff

  • Added parts are displayed like this.
  • Deleted parts are displayed like this.

Xorg 7.x になってパッケージが module 化されてから、X の make はしたことがありません。いや、正確には一度 make しようと試みたのだけれど modules の依存関係が分からなかったので諦めたんですが。^-^;;

Xorg 7.3 の新機能として、xrandr を使うことによって動的に X の解像度や出力を切り替える事ができるようになりました。これを使いたくて、Xorg 7.3 の make に着手する事にしました。

少しでも他の方への役に立てばということで、素の Plamo-4.22 に対して Xorg 7.3 を入れることにし、[[Plamo 4.22 用のパッケージ(tar & gz で固めたもの)|Xorg7.3 binary packages for Plamo-4.22]]も作る事にしました。。
なお、元々の /usr/X11R6 は触らずに、全て /usr/X11R7.3 にいれることに。

!前準備
全くゼロから make するのはよく分からないので、build-from-tarballs.sh という shell script を利用する事にした。(この script は http://xorg.freedesktop.org/wiki/ModularDevelopersGuide から取得できます。) あわせて、Xorg から module のファイル群をドサッと取ってきます。(300個くらいあります。。。)

次に build-from-tarballs.sh script を使う前に、幾つかのパッケージ(以下のもの)を入れておく必要があります。

libdrm-2.3.0
libpthread-stubs-0.1
pixman-0.9.6
xcb-proto-1.1
Mesa-7.0.1

これらに関しては、

PKG_CONFIG_PATH=/usr/X11R7.3/lib/pkgconfig \
./configure --prefix=/usr/X11R7.3  && make & make install

あるいは必要があれば以下のようにして make & make install。
PKG_CONFIG_PATH=/usr/X11R7.3/lib/pkgconfig \
PATH=/usr/X11R7.3/bin:$PATH \
CPPFLAGS="-I/usr/X11R7.3/include/xorg -I/usr/X11R7.3/include/pixman-1" \
./configure --prefix=/usr/X11R7.3 && make && make install

なお、Mesa に関しては以下のように
cd Mesa/
tar jxf ../../Sources/Mesa/MesaLib-7.0.1.tar.bz2
cd Mesa-7.0.1/
vi config/default
      #<- INSTALL_DIR & DRI_DRIVER_INSTALL_DIR を /usr/X11R7.3/* に
vi config/linux-dri
      #<- DRI_DIR を修正。うまく make できなかったので  s3v と savage を消した :p
PKG_CONFIG_PATH=/usr/X11R7.3/lib/packages make linux-dri && make install

以上のインストールが終わったら、X11 と GL の include のリンクを張り直しておく
cd /usr/include
rm X11; ln -s ../X11R7.3/include/X11 .
rm GL; ln -s ../X11R7.3/include/GL .
前準備は以上。

!build-from-tarballs.sh で Xorg の module 群を make
Xorg の一連の modules を修正した build-from-tarballs.sh で作成する。(弄った {{attach_anchor('build-from-tarballs-modified.sh')}})
以下のふたつのパッケージを build-from-tarballs.sh 内で作成するように修正した。 (libxcb は lib の中なのだが順番に注意)
  libxcb-1.1      (lib 内、微妙な位置:p)
  xbitmaps-1.0.1  (data 内)
なお、xf86-video-sis-0.9.3 は make が通らなかったので patch を当てる必要あり。

で、適当に修正した build- script で、
PATH=/usr/X11R7.3/bin:$PATH ./build-from-tarballs-modified.sh /usr/X11R7.3 \
   -m /home/nagato/Install/Mesa/Mesa-7.0.1
を実行。これで /usr/X11R7.3 以下に make されたものがインストールさる。

これで完成かと思いきや、X を立ち上げたログをみると libglx が無いとか出ています。で、 xorg-server-1.4 を以下のように
手で作っておけば良さそう。
  PKG_CONFIG_PATH=/usr/X11R7.3/lib/pkgconfig \
  ./configure --prefix=/usr/X11R7.3 \
       --with-mesa-source=/home/nagato/Install/Mesa/Mesa-7.0.1 \
       --with-dri-driver-path=/usr/X11R7.3/lib/xorg/modules/dri \
  && make && make install

これで完了かと思いきや、実は XKB 周りが不足。以下の package を入れる必要あり。
xkeyboard-config-1.1

後は、わずかな調整のみ。
/usr/X11R7.3 -> /usr/X11 のリンク張り替え
/etc/X11 配下の リンクを X11R7.3 のものに張り替え
/etc/ld.so.conf に /usr/X11R7.3/lib を加える。(/usr/X11R6/lib の前に)
/etc/profile の PATH 環境変数に /usr/X11R7.3/bin を追加。(/usr/X11R6/bin の前に)

ldconfig を忘れずに。
以上すべての modules の make & make install が完了した。

xfplamoconfig で xorg.conf を作り、font section の path を書き直せば完了。

!annex
Xorg 7.3 には何故か xterm 等が含まれていません。(なんでだ?)なので、/usr/X11R6/bin への path も忘れずに通しておいた方が良いと思います。
(ただし /usr/X11R6/bin 以下のアプリケーションも物によっては動かないかもしれません。)

!何か make するには ー xterm を例に
xterm を例にあげ、Xorg7.3 環境用に何かを make するするする方法を書いておきます。
tar zxf xterm.tar.gz
cd xterm-229
PKG_CONFIG_PATH=/usr/X11R7.3/lib/pkgconfig ./configure --prefix=/usr/X11R7.3 --enable-wide-chars
make
make install
binary package を作るには、 make prefix=/tmp/usr/X11R7.3 install とかすれば良い。( 良いのですが、prefix の指定では駄目なものが沢山あります。