XFree86-4.2.0

[サーバの実験室 Slackware]

作成 : 2003/01/05

"サーバの実験室"の検索


最終的に XFree86-4.2.0 のインストールに必要になったパッケージ

bison-1.875
    m4-1.4(bison のインストールに必要)
flex-2.5.4a
perl-5.8.0
ncurses-5.3

XFree86 の入手と展開

XFree86 には、ソースとバイナリのいずれかからインストールできる。 とりあえず、ソースからインストールしてみる。

XFree86-4.2.0 のソースを、xfree86.org からもらってくる。 X420src-1.tgz、X420src-2.tgz、X420src-3.tgz の3 個。 /usr/local/src とかに置いて、展開。 すべて xc ディレクトリの中に展開される。

# gunzip -cd X420src-1.tgz | tar xvf -
# gunzip -cd X420src-2.tgz | tar xvf -
# gunzip -cd X420src-3.tgz | tar xvf -

make World

xc/config/cf ディレクトリの site.cf を編集しろとか、適当なファイルを host.cf にコピーしろとか書いてあるけど、そのまま make World。 (world でなく World なので注意!) cc がないエラーになったので、CC=gcc をつけて実行。

# cd xc
# CC=gcc make World
....
bison -y -d pswparser.y
/bin/sh: bison: command not found
make[4]: *** [pswparser.c] Error 127
make[4]: Leaving directory `/usr/local/src/xfree86/xc/config/pswrap'
make[3]: *** [../../config/pswrap/pswrap] Error 2
make[3]: Leaving directory `/usr/local/src/xfree86/xc/lib/dps'
make[2]: *** [includes] Error 2
make[2]: Leaving directory `/usr/local/src/xfree86/xc/lib'
make[1]: *** [includes] Error 2
make[1]: Leaving directory `/usr/local/src/xfree86/xc'
make: *** [World] Error 2

bison がないと怒られるので、インストール。 (bison-1.875 を見てね) そして、make World。

# make World
....
flex -l  -t lexer.l > lexer.c
/bin/sh: flex: command not found
make[4]: *** [lexer.c] Error 127
make[4]: Leaving directory `/usr/local/src/xfree86/xc/config/pswrap'
make[3]: *** [../../config/pswrap/pswrap] Error 2
make[3]: Leaving directory `/usr/local/src/xfree86/xc/lib/dps'
make[2]: *** [includes] Error 2
make[2]: Leaving directory `/usr/local/src/xfree86/xc/lib'
make[1]: *** [includes] Error 2
make[1]: Leaving directory `/usr/local/src/xfree86/xc'
make: *** [World] Error 2

flex がないと怒られるので、インストール。 (flex-2.5.4a を見てね) そして、make World。

# make World
....
perl  modeline2c.pl  < modedefs > xf86DefModeSet.c
/bin/sh: perl: command not found
make[5]: *** [xf86DefModeSet.c] Error 127
make[5]: Leaving directory `/usr/local/src/xfree86/xc/programs/Xserver/hw/xfree86/common'
make[4]: *** [includes] Error 2
make[4]: Leaving directory `/usr/local/src/xfree86/xc/programs/Xserver/hw/xfree86'
make[3]: *** [includes] Error 2
make[3]: Leaving directory `/usr/local/src/xfree86/xc/programs/Xserver'
make[2]: *** [includes] Error 2
make[2]: Leaving directory `/usr/local/src/xfree86/xc/programs'
make[1]: *** [includes] Error 2
make[1]: Leaving directory `/usr/local/src/xfree86/xc'
make: *** [World] Error 2

perl がないと怒られるので、インストール。 (perl-5.8.0 を見てね) そして、make World。

# make World
....
bison -y  xkbparse.y
xkbparse.y:452.17: syntax error, unexpected "|"
xkbparse.y:515.17: syntax error, unexpected "|"
make[3]: *** [xkbparse.c] Error 1
make[3]: Leaving directory `/usr/local/src/xfree86/xc/programs/xkbcomp'
make[2]: *** [depend] Error 2
make[2]: Leaving directory `/usr/local/src/xfree86/xc/programs'
make[1]: *** [depend] Error 2
make[1]: Leaving directory `/usr/local/src/xfree86/xc'
make: *** [World] Error 2

こんどは謎のエラー。 いろいろ検索してみると、bison-1.50 と XFree86-4.2.0 で同じエラーになるらしい。 ソースを修正しないとだめらしい。

xc/lib/Xft/xftgram.y

166:                     matrix.__REALLY_YY__ = $5;
167:                 }
             ;    <---追加
168: number  :   INTEGER
169:                 { $$ = (double) $1; }

xc/programs/twm/gram.y

459:                                           }
460:                                         }
461:                   win_color_list    <---削除
                       win_color_list        {/* No action. */;}    <---追加
462:                 | CKEYWORD string       { if (!do_color_keyword ($1, color,
463:                                                                  $2)) {



655:                                           $$ = ptr;
656:                                         }
                     ;    <---追加
657: number          : NUMBER                { $$ = $1; }
658:                 ;

xc/programs/xkbcomp/xkbparse.y

449: ShapeDecl       :       SHAPE String OBRACE OutlineList CBRACE SEMI
450:                         { $$= ShapeDeclCreate($2,(OutlineDef *)&$4->common); }
451:                 ;    <---削除
452:                 |       SHAPE String OBRACE CoordList CBRACE SEMI
453:                         {



512:                             $$= (OverlayKeyDef *)
513:                                 AppendStmt(&$1->common,&$3->common);
514:                         };    <---削除
                             }    <---追加
515:                 |       OverlayKey
516:                         { $$= $1; }

xc/programs/xkbevd/cfgparse.y

174:                 |       SOUND    { $$ = SoundAction; }
175:                 |                { $$ = UnknownAction; }
                     ;    <---追加
176: OptNameSpec     :       NameSpec { $$= $1; }
177:                 |                { $$= NULL; }

ソースを編集したら、make World。

# make World
....

やっとエラーなく終了。

make install

make install。

# make install
....
/usr/local/lib/gcc-lib/i686-pc-linux-gnu/3.2.1/../../../../i686-pc-linux-gnu/bin/ld: cannot find -lncurses
collect2: ld returned 1 exit status
make[3]: *** [xterm] Error 1
make[3]: Leaving directory `/usr/local/src/xfree86/xc/programs/xterm'
make[2]: *** [install] Error 2
make[2]: Leaving directory `/usr/local/src/xfree86/xc/programs'
make[1]: *** [install] Error 2
make[1]: Leaving directory `/usr/local/src/xfree86/xc'
make: *** [install] Error 2

make install の途中でエラーになってしまった。 いろいろ検索してみると、ncurses ライブラリがないと、このエラーになるらしいので、ncurses をインストール。 (ncurses-5.3 を見てね) そして、make install。

# make install

今度は成功。 make install のログをおいておく。

X の設定については、X の設定を参照のこと。


[サーバの実験室 slackware]