2001/10/12   Finally Moved to MacOS X Release 10.1

ようやく2日ほど前に MacOS X 10.1 に移行した。アップデータがちっとも来ないので ついにしびれをきらして買ってしまったのである。 10.0.X のバイナリーは基本的にそのまま使えるようであるが、 リンカーのデフォールトが -twolevel_namespace になってしまったので、 今までのように共有ライブラリーやバンドルを作る際に "-undefined suppress" だけだと怒られる。 two-level namespace だと、実行形式にリンクされた共有ライブラリーの 名前だけでなく、それからロードすべきシンボル名も書かれる。 その結果、異なる共有ライブラリーに同じ名前のシンボルが含まれることを 許せる点で進歩であるが、代償として undefined symbol が許されなく なるわけである。 "-undefined error"(これがデフォールトなので書かなくても良い)と して two-level namespace の恩恵にあずかるか、あるいは "-flat_namespace -undefined suppress" として昔のライブラリー名だけの 形式を用いるかどちらかで対処する。 今後のことを考えて、ほとんどのパッケージを two-leve namespace 形式で 再コンパイルした。 このために、/usr/share/libtool と /usr/X11/lib/X11/config/darwinLib.rules にパッチをあてた。 また、g77 は、gcc を 10.1 で使われているバージョン(932.1-6)の ソースを使って作りなおした。 HEP on X ページ(英語)もこれに合わせて更新、移動した。 新しいページは http://www-jlc.kek.jp/~fujiik/macosx/10.1.X/ である。 詳細はそちらを参照のこと。 それともう一つ気づいたこと。"cout << ... << flush;" が効くようになった。

今までにコンパイルしたMacOS X Release 10.1.X 用の rpm については、 spec ファイル、パッチ、ソース RPM、バイナリー RPM それぞれについて SPECSSOURCESSRPMSRPMS に対応するものが置いてある。RPMS 以下の ppc はマシン依存な RPM 、noarch はマシン非依存な RPM の置き場所である。バイナリーのみの RPM および Tar Ball のみのパッケージの場合には、ソースおよびパッチは src に、また、Tar Ball は tgz にそれぞれ置いてある。新しいものは ~fujiik/macosx/10.1.X/ 以下にある点に注意(~fujiik/macosx 直下のものは Public Beta 用、~fujiik/macosx/10.0.X/ 以下は 10.0.X 用の古いもの)。   いつものように使う場合は自己責任で。


Back to Keisuke Fujii's MkLinux/LinuxPPC Life