一昨年くらいからSoarisSparcでpkgsrcを利用するようになったのだが、 NetBSD/i386でとは違って色々コンパイル中にこけることがあった。 大体ソース見れば分かるので適当にこけたやつだけ手コンパイルしたり、 なんとなくどうにか先に進めちゃったが、ビルドが全自動で進まず 止まっては直しを繰り返すのでむっちゃ時間がかかっていた。
今回最初から bootstrap で作り直してやっと実感した。ポイントはこうだ。
bootstrapが終わったら即 X11_TYPE=modular
すべし
即 lang/gcc34
を入れてそれを使うべし
X11_TYPE=modular
にしないまま進むと知らないうちに
x11-links が入ってしまって、それ以後は X11_TYPE=modular
にしようとしても怒られてしまう。そんなわけで、今までなんとなく
modularにせずに頑張っていたが、どうしても /usr/openwin/lib
以下のライブラリとのバージョン不整合でうまく行かないことがあったので
全部仕切り直そうとやってみたら、今までの苦労が嘘のようにスルスル
進んだ。すげぇ、pkgsrc すげぇよ、やっぱ。
要点は pkgsrc under Solaris に書いてあったとおりだった。
その他もろもろ
c99でないとダメなソースとc99だとダメなソースが混在しているので
bmake CC='gcc -std=c99'
と
bmake CC='gcc -std=c89'
を適当に
繰り返す。また、struct timeval が活きるためにコンパイル変数
_POSIX_SOURCE
あたりを有効化しないとダメなときと
有効化するとダメなものがあるのでやはり
bmake CC='gcc -D_POSIX_SOURCE'
とそれなしを繰り返す。
LIBS=-lrt 追加。シンボル bar_free
が解決できない
リンクがあるのでそこだけ -llber を追加。
tests/gpg 以下にポータビリティのない(funopen)関数を使った
コードがあるのでSolarisで動かない。
bmake CONFIGURE_ARGS=--disable-gpg-test
でOK。