MacOS X PB
make-3.78-1-bin.tar.gz
gcc-2-macox-with-g77.tar.gz
Libc-149-bin.tar.gz
Libcomapt-14-1-bin.tar.gz
libdl-cctools-6-1-bin.tar.gz
lesstif-08102000.tar.gz
である。いぜん LinuxPPC の場合もそうであったように、MacOS X の標準開発環境に含まれる make-3.79 では、strip に null string を入れることが許されず、make がこけてしまう。やむなく make-3.78 を入れた。Motif は lesstif を使う。
ソースには、本来は、MacOS X 用の #ifdef を用意すべきであるが、面倒なので、基本的に LinuxPPC のものを流用する。それでも MacOS X 用にいくつか patch が必要であった。それについては以下にでてくるパッチを参照。
# cd /g77 についての注意
# 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
mclibs/jetset で -O0 でないとテストが無限ループに入る問題もある。最適化フラッグは最初のものが有効になるので
-O0 -O2 の順でないと最適化を OFF にできない(-O2 -O0 で最適化を OFF にしたつもりがはまった)。
$ export CVSCOSRC=/cern/2000/srcてな具合で clean make できるはずである。ただし、マシンのメモリーが少ないと、mclibs/pythia/pysigh.F あたりのコンパイルに無限に時間がかかるので、これだけ個別に -O0 でコンパイルする必要があるかも。
$ 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 の問題は追求していない。時間がとれ次第追求。いずれにせよ、Aqua の中で Paw の test が動き
$ 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!
PAW TEST on UNIX/MACOSXと表示する様は感動的ではあった。
....
You have a good version of PAW
# 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
今までにコンパイルしたもののソースおよびパッチは macosx/src
に、またバイナリーの tar ball は macosx/tgz
または macosx/darwin.tgz
にそれぞれ置いてある。いつものように使う場合は自己責任で。