gnome + wmaker


make に手間取っているうちに, 1.0が出てしまいました. gnome でございます. いわゆる一つの, ぐのーめ というやつです. やっぱ free soft は 1.0 が出るまえに使わないとね. 今回はギリギリ間に合い ました.

おもえば長いみちのりでございました. どういう道のりだったかというと, まず, gnome0.9系 には, gtk1.1 系が必要だ. ところがこいつが libc5 では makeできないのである. 実は libc5 でもなんとか make だけはできる. thread と 国際化をやめれば, make だけはできるので, configure のオプションでそれを指定すればいい. しかし! native language support と thread を切ってしまうと, gtk1.1系の 意味は, ほとんど無い. ついでにいうと, そんなオプションつけて make した gtk など, 近頃の アプリケーションのコンパイルには全然役に立たないのだ.

これが判明するまでの, わしのたどったみちのりというのは, こういうものだっ た.

  1. gtk1.1.1? の make で, libintl.h が無いというわれて make できず, gnu の gettext というパッケージにそれが含まれていることを知り, と りあえずそれだけインストールしてみた. しかし dgettext とかいうライブラ リ関数が undefined refference になって, make できない. dgettext は libintl.h でちゃんと定義されていたので, これはどうも俺の libc には無い関 数らしかった.
  2. どうやら libc5 ではだめで, libc6 が必要らしいことが判明する. libc6 の開発キットには, libintl.h が含まれており, そこには問題の dgettext が定義されている. libc6 のパッケージとして, glibc2.0.6 を 東工大の gnu アーカイブか ら取って来た. LDP の glibc2-howto とやらに従って, glibc2 の cross-compile 環境を構築する. しかし, hellow world すら動かなかっ た. < 死
  3. libc6 の make はコンパイルに 3時間, インストールに 1時間かかるとい もので, これが失敗したので一時, 俺はすっかりやる気を無くした.
  4. gtk1.2 がリリース. 再びやる気が出て来る. パッケージの makefile や ら *.h やら configure やらをじっくり見ていると, どうも ifdef で国 際化コードをmakeするかどうか, 分岐がかけてある. configure のなかに, これを切るオプション, --disable-nls を発見する.
  5. 他に, --disable-threads も発見する.
  6. これで libc5 で gtk1.2 はmake できた.
  7. しかし, x11amp 0.9.?? は make できなかった. configure で 「 thread-safe な xlib を用意して出直して来な」と言われてしまった.
  8. これはいよいよ小手先では通じぬと覚悟した俺は, plamo の 「 glibc2 化パッケージというのを全部突っ込んだ. これで, もう gcc は glibc2(libc6) をリンクしたバイナリしか生成しない. システムがぶっ壊 れて 再インストール覚悟の暴挙だった. なんせ, libc こわしたら, /bin にあるものすら 「command not found 」になってしまうからのう. 近頃の (といっても カーネル 1.2からだが) Linux はなんでも elf じゃ から , ls ですら libc?? が無くなったら動かん. もちろん bash も動 かんから, 失敗すれば, shutdown すらできなくなるのである. でも, そ んなのは, 「ま」の 付く会社のシステムや, りんご の世界ではありふれた トラブルなのである. これを恐れていては, それらシステムのユーザから 「linux の ユーザって, チキンだよね」という誹りを免れぬ! とりあえず, やれ!いろいろ考えるのは, そのあとだ.
  9. インストール自体は, installpkg で終り.
  10. gnome のmake には, imlib (>1.8) が必要である. こいつは, gtk1.1.14 より新しいのを入れ た状態でmake しないと gtk から theme が使えるようにならない. だか ら, 既にインストールしてあった imlib は捨て, 一旦 gtk 1.2 を make する. もちろん, make できる. なんせ glibc2 じゃからのう.
  11. imlib も make できる. ちゃんと gtk の新しいのが入ってることを認識 している. ところが! gtk-engines が make できない. いろいろ調べて みると, どうも imlib が壊れているようだ. ldd では異常は無いように 見えるが, Eterm とかの, imlib を必要とするプログラムを実行すると, core dump だった.
  12. 万事急須. きゅうす. もうダメじゃ. 所詮, わしみたいな奴には, クロス コンパイルなど, 無理なのである.

というわけで, 俺は清水に借りた vine 0.9.?? というのをインストールしてみ た. 手近の redhat 系のパッケージというと, 清水が持ってたコレだけだったの で. こうして, 長らく親しんだ slackware に別れを告げ, わしは rpm の怪しい世界に突入して ゆくのであった.

清水に借りた cdrom には, 00README.txt に「インストール方法は, 本誌を見 てください」としか書いてない. 借りたのは cdrom だけで, 本誌など, どこにもない. しかし, きょうびの Linux が本誌無しではインストー ルできないなんて, そんなことは許されるはずが無い. ハードディスクのパーティ ションをいじる必要はないので, とりあえずインストーラだけでもできれば, あ とは何とかなるはずだ.

それらしい場所にそれらしいファイルがあったので, それを /dev/fd0 に cat した. フロッピで起動してみると, ちゃんと動く. 「pcmciaを使う場合は, suppimage とかいうのを追加しろ」と言われたので, そこではじめてそういうも のが必要だったと知る. こいつも cat (あるいはdd)して作り, フロッピに突っ 込む.

ネットワークインストールは, どうも dhcp サーバが動いている必要があるよう だった. うちのサーバでは dhcpd は一応動いているが, テストに成功したこと は一度もない(これは動いてるとは言わないか. ) こんなときの, ローカル cdrom ドライブだ. 久しぶりに scsiカードを使う.

インストール自体は, かなりうざい. 「エキスパート」モードを選んだら, mule とかを入れるかどうか聞いて来ないので, 「おいおい, エキスパートには emacs 無しかい」とおもってると, 勝手に mule とか入ってる. ほとんどパッケージの 選択の余地が無いように思えるのは気のせいかなあ.

なんと, インストールしたままでは shadow password ではない. なんか, 聞いたことの無いコマンドを実行しないと shadow password にならな いのだ. どんなコマンドだったか忘れたが, とりあえず「違うパッケージ」から の手厳しい洗礼をうける. あーめんどくせえ.

libc5 のバイナリも, ちゃんと動くのであり, navigator 4.5 もそのまま動い ている. ここらへんは, 賢いのう. でもな. なんで ps とか df とか topとか ping とかが, 勝手に日本語になってるのじゃ? xterm で見れん.

それではインストールじゃ. そのまえに, コンパイラは, egcs にして, object-C のコードを読ませるパッケージもインストールしとこう. これは付録 の Vine には付いてなかったので, どっかから rpm を取って来た.

gimp 1.0 はgtk 1.2 で動かないので, gimp のリンクしている gtk が入ってる 場所と違うところに gtk 1.2 をインストールして, gtk1.0 を壊さないように しよう. RedHat では prefix が /usr/ なので, gtk1.2 のmakeでは configure に余計なオプションを付けなくても, 昔の gtk に上書きされることはない. ただ, そのあとの gtk を必要とする パッケージのmake では, configure に --with-gtk-prefix オプションをつける 必要がある. 何もしないと, /usr/bin/gtk-config が実行されてしまうだろう が, これが v.1.2 のものでない場合は, configure が文句を言って, 正しい Makefile が生成されない.

必要なパッケージは次の通り. この順番に make すること. また, 各ライブラリ は, make installしたらかならず ldconfg すること.

これに加えて, 次のパッケージもあると楽しい. とりあえず, 現時点(Mon Mar 8 15:47:11 JST 1999)で gnome と一緒に使える window manager は, enlightenment と WindowMaker だ. 標準 WM は enlightenment らしいが, 俺はアレはあまり好きではないので, WindowMaker の 0.50.2 とかいうのをインストールした. 現時点の画面は これ だ. 左はしの widget は "panel" とかいうもので, ぐのめ の中心. デスクトッ プには, はやくもいろんなものが散らばっている. dfm で使っていた各種シェ ルスクリプトは, この環境でも存分に活躍している. html ファイルとかを navigator の窓に持って行くと反応し, それが読み込まれ るところなどは, とても良い. gimp の 1.1も, こういうのに対応しとるんかの う. そしたら, 便利なんじゃが.

それにしても, gmc というファイルマネージャは, なかなか悪くないぞ. かなり buggy だが. ディレクトリを書く場所に, ftp:// とか書けるのだ. そして, ほしいものをそのままデスクトップにダウーンロード! ただし, 同じ技が navigator でもつかえるかというと, これがダメなんですね え. なまじいろいろできるだけに, かえって判りにくいところも多いのです.

そうそう. x11amp も gtk1.2 で make してみた. ちゃんと動いたし, 音も出る. 0.7 の方が, まだ完成度は高いが, 既にイコライザとかが付いてるのが楽しみなところだ.