root は、gcc3.1 でコンパイルすると test/bench が seg-fault する問題が知られていたが、これは、CVS 版では部分的になおっている(__gnu_cxx
なんて知らないと文句を言おうとしたとき、エラーメッセージの出力先の G__serr がまだ初期化されていないので seg-fault していた部分)が、今度は、実行時に、locale::classic
の中でsemaphore に トラップされて止まってしまう。これは、おそらく、dylib が static link されているのにも関わらず、実行時にもう一度、同じシンボルを対応する
bundle から動的にロードしようとすることによるようだ。link 時に -bind_at_load を指定してやると、全てのシンボルを dylib
から持ってくるので不要な bundle からのロードは起こらなくなり、この問題は解消する。また、CVS 版では ACliC が動かないが、これは、bundle
でなく dylib を作るようになってしまったため。これらの問題を解決するには、このパッチが必要。このパッチは
ROOT TEAM に送っておいた。このパッチをあてたバイナリー tarball は root_v3.03.09-cvs20021023-macosx10.2.tar.gz
である。
これで、一応、全ての test が通ったことになる。MacOS X 10.2 + gcc3.1 + ROOT 3.03.09 の組み合わせが漸く安心して使えるようになった。
今までにコンパイルしたMacOS X Release 10.2.X 用の rpm については、
spec ファイル、パッチ、ソース RPM、バイナリー RPM それぞれについて SPECS、
SOURCES、 SRPMS、
RPMS に対応するものが置いてある。RPMS
以下の ppc はマシン依存な RPM 、noarch はマシン非依存な RPM の置き場所である。バイナリーのみの RPM および Tar Ball
のみのパッケージの場合には、ソースおよびパッチは src
に、また、Tar Ball は tgz
にそれぞれ置いてある。新しいものは ~fujiik/macosx/10.2.X/ 以下にある点に注意(~fujiik/macosx 直下のものは Public
Beta 用、~fujiik/macosx/10.0.X/、~fujiik/macosx/10.1.X/ 以下は 10.0.X、10.1.X 用の古いもの、今後更新の予定なし)。
いつものように使う場合は自己責任で。
Back
to Keisuke Fujii's MkLinux/LinuxPPC Life