MacOS X Release 10.0.01
make-3.78-1a
gcc-with-g77-2.95.2-1a
Libc-167-1a
Libcomapt-14.1-1a
dlcompat-20010123-1a
である。いぜん LinuxPPC の場合もそうであったように、MacOS X の標準開発環境に含まれる make-3.79 では、strip に null string を入れることが許されず、make がこけてしまう。やむなく make-3.78 を入れた。Motif は OpenMotif を使おうとしたのだが、Paw++ が動かなかったので libXm.a のみ lesstif より取ってきて使った。
ソースには、本来は、MacOS X 用の #ifdef を用意すべきであるが、面倒なので、基本的に LinuxPPC のものを流用する。それでも MacOS X 用にいくつか patch が必要であった。それについては以下にでてくるパッチを参照。
# cd /
# ln -s ~/sandbox/mypkg/src/cernlib cern
# cd /cern
# for i in `ls <somewhere>/src_*.tar.gz`; do tar -zxvf $i; done
# ln -s 2000 new
# ln -s 2000 pro
# mkdir -p 2000/work
# chown fujiik:jlc 2000/work
# chown fujiik:jlc 2000
# cd src
# patch -p1 -s < <somewhere>/cernlib-2000-macosx.patch
$ export CVSCOSRC=/cern/2000/srcてな具合で clean make できるはずである。
$ cd /cern/2000/work
$ mkdir ../{bin,logs}
$ cp $CVSCOSRC/scripts/cernlib ../bin
$ $CVSCOSRC/config/imake_boot
$ make tree HAVE_MOTIF='YES' >& ../logs/tree.log &
$ tail -f ../logs/tree.log
^C$ pushd packlib/kuip/programs/kuipc
$ make
$ make install.bin
$ popd
$ make HAVE_MOTIF='YES' >& ../logs/make.log &
$ tail -f ../logs/make.log$ cd packlib
$ make install.bin HAVE_MOTIF='YES' >& ../../logs/packlib.bin.log &
$ tail -f ../../logs/packlib.bin.log$ cd ../pawlib
$ make install.bin HAVE_MOTIF='YES' >& ../../logs/pawlib.bin.log &
$ tail -f ../../logs/pawlib.bin.log$ cd ../graflib
$ make install.bin HAVE_MOTIF='YES' >& ../../logs/graflib.bin.log &
$ tail -f ../../logs/graflib.bin.log$ cd ../scripts
$ make install.bin HAVE_MOTIF='YES' >& ../../logs/scripts.bin.log &
$ tail -f ../../logs/scripts.bin.log$ cd ..
$ make install.include CERN_INCLUDEDIR=/cern/new/include >& ../logs/install.include.log &
$ tail -f ../logs/install.include.log$ su
# tar -zxvf <somewhere>/patchy-4.15-bin.tar.gz -C /
# exit
$ cd patchy
$ PATH=.:$PATH make install.bin HAVE_MOTIF='YES' >& ../../logs/patchy.bin.log &
$ tail -f ../../logs/patchy.bin.log
$ cd ../packlibmathlib の C327 の問題は追求していない。時間がとれ次第追求。
$ make test >& ../../logs/packlib.test.log &
$ tail -f ../../logs/packlib.test.logALL TESTS PASSED!
$ cd ../mathlib
$ make test >& ../../logs/mathlib.test.log &
$ tail -f ../../logs/mathlib.test.logALL BUT TEST C327 PASSED!
$ cd ../graflib/higz/examples
$ make higzex
$ ./higzexOK!
$ cd ../../../../src/pawlib/paw/demo
$ paw all.kumac
...
go
...
OK!
$ cd ../../../../work/mclibs
$ make test >& ../../logs/mclibs.test.log &
$ tail -f ../../logs/mclibs.test.logALL TESTS PASSED!
but remember you remove lepto63 from testlibdir.$ cd ../phtools
$ make test >& ../../logs/phtools.test.log &
$ tail -f ../../logs/phtools.test.logALL TESTS PASSED!
$ cd ../geant321
$ make test >& ../../logs/geant321.test.log &
$ tail -f ../../logs/geant321.test.logALL TESTS PASSED!
# cd ~/sandbox/mypkg/src/cernlib
# chown -R root:wheel 2000
# mkdir 2000/tgz
# tar -zcvf 2000/tgz/cernlib-2000-bin.tar.gz 2000/bin
# tar -zcvf 2000/tgz/cernlib-2000-lib.tar.gz 2000/lib
# tar -zcvf 2000/tgz/cernlib-2000-include.tar.gz 2000/include
# tar -zcvf 2000/tgz/cernlib-2000-share.tar.gz 2000/share
今までにコンパイルしたMacOS X Release 用の rpm については、 spec ファイル、パッチ、ソース RPM、バイナリー RPM それぞれについて SPECS、 SOURCES、 SRPMS、 RPMS に対応するものが置いてある。バイナリーのみの RPM および Tar Ball のみのパッケージの場合には、ソースおよびパッチは src に、また、Tar Ball は tgz にそれぞれ置いてある。新しいものは ~fujiik/macosx/10.0.X/ 以下にある点に注意(~fujiik/macosx 直下のものは Public Beta 用の古いもの)。 いつものように使う場合は自己責任で。