Installing Fink Cernlib And G77 For Mac
Preparation: lapack
Notice that as of CERNLIB v.2001, lapack routines have been removed from mathlib. You thus need to install the lapack and blas libraries:
# rpm -Uvh lapack-3.0-12c.ppc.rpm
# rpm -Uvh blas-3.0-12c.ppc.rpm
G77 3.4: This is the FINAL release of g77 (version 3.4 compiler). Future versions of GCC will have gfortran (see above). Download my binaries, and cd to the download folder. Then gunzip g77-bin.tar.gz (if your browser didn't do so already) and sudo tar -xvf g77-bin.tar -C /. It installs everything in /usr/local. You will need to have Apple's. おぉ。CernibがMACで走るっすか。やるっすね。 Installing Fink, CERNLIB, and g77 for Mac OS X 次はこれを見つけた。というわけでやってみよう。 これに従って、Fink Commandarを立ち上げて、 cernlibを探して左上の青いプラスマークのアイコンを押して10分くらいまった。.
In addition if you want to use paw++, you need OpenMotif libraries:
# rpm -Uvh OpenMotif-2.2.2-1a.ppc.rpm
# rpm -Uvh OpenMotif-devel-2.2.2-1a.ppc.rpm
If you just want to use precompiled binary packages, go directly to Installation subsection.
CERNLIB-2003 Building Procedure
Compilation ConditionsMacOS X Release 10.3Notice that as of CERNLIB v.2001, lapack routines have been removed from mathlib. One thus need to install the lapack and blas libraries as indicated above.
gcc-with-g77-1495-2b
Libcompat-14.1-2c
lapack-3.0-12c
blas-3.0-12c
OpenMotif-2.2.2-1a
[0] Preparation
# cd /
# rm cern
# ln -s /Users/cernlib cern
# cd /cern
# for i in `ls <somewhere>/src_*.tar.gz`; do tar -zxvf $i; done
# cp <somewhere>/Inaccessible 2003/src
# ln -s 2003 new
# ln -s 2003 pro
# mkdir -p 2003/work
# chown fujiik:jlc 2003/work
# chown fujiik:jlc 2003
# cd 2003/src
# patch -p1 -s < <somewhere>/cernlib-2003-macosx.patch
# patch -p1 -s < <somewhere>/cernlib-2003-macosx.10.3.patch
# patch -p1 -s < <somewhere>/cernlib-2003-macosx.O0.patch
# exit
where the last patch is to compile everything with -O0 (no optimization) for safety, though the situation with the tests described below was unaffected even without it.
Notice that the first patch has also been updated because of the following problems:
- The dlsym function in the system default libdl.dylib now looks for a symbol in the given dylib after putting a leading underscore to the symbol. This is the standard behavior, but different from that of the old dlcompat package for 10.2.The previous patch to pawlib/comis/code/csaddr.F became thus obsolete.
- The test programs for mclibs/lepto63 (demo.F, demo2.F) had to be patched to declare the lepto63 block data (LEPTOD) to be EXTERNAL. Otherwise, the block data would remain uninitialized and the program get in an infinite loop.
[1] Build
$ cd /cern/2003/
$ chown fujiik lib
$ ln -s /usr/local/lib/liblapack.a lib/liblapack3.a
$ ln -s /usr/local/lib/libblas.a lib/.
$ cd work
$ export CVSCOSRC=/cern/2003/src
$ mkdir ./bin
$ cp $CVSCOSRC/scripts/cernlib ./bin/
$ $CVSCOSRC/config/imake_boot
$ mkdir ./logs
$ 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
^C
$ 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
Installing Fink Cernlib And G77 For Macbook Pro
[2] Tests
$ cd packlib
$ make test >& ././logs/packlib.test.log &
$ tail -f ././logs/packlib.test.log
ALL TESTS PASSED
$ cd ./mathlib
$ make test >& ././logs/mathlib.test.log &
$ tail -f ././logs/mathlib.test.log
ALL TESTS but C327 PASSED
$ cd ./graflib/higz/examples
$ make higzex
$ ./higzex
OK!
$ cd ././././src/pawlib/paw/demo
$ paw all.kumac
..
go
..
OK!
$ cd ././././work/mclibs
$ make test >& ././logs/mclibs.test.log &
$ tail -f ././logs/mclibs.test.log
ALL TESTS PASSED
$ cd ./phtools
$ make test >& ././logs/phtools.test.log &
$ tail -f ././logs/phtools.test.log
ALL TESTS PASSED
$ cd ./geant321
$ make test >& ././logs/geant321.test.log &
$ tail -f ././logs/geant321.test.log
ALL TESTS PASSED
[3] Aftermath
Installing Fink Cernlib And G77 For Mac Download
# cd /home/cernlib
# chown -R root:wheel *
# mkdir 2003/tgz
# tar -zcvf 2003/tgz/cernlib-2003-bin.tar.gz 2003/bin
# tar -zcvf 2003/tgz/cernlib-2003-lib.tar.gz 2003/lib
# tar -zcvf 2003/tgz/cernlib-2003-include.tar.gz 2003/include
Installation of Binary Packages
CERNLIBTo install, just expand the tarballs in whatever directory you want, for instance:
# ls <somewhere>
cernlib-2003-bin.tar.gz
cernlib-2003-include.tar.gz
cernlib-2003-lib.tar.gz
# mkdir /cern
# for i in <somewhere>/*; do tar -zxpvf $i -C /cern; done
# ln -s 2003 /cern/pro
Dis45
# rpm -Uvh <somewhere>/dis45-1.36-3d.ppc.rpmTopdrawer
# rpm -Uvh <somewhere>/tdr-1.7-2c.ppc.rpmor
# rpm -Uvh <somewhere>/topdraw-1.4d-1d.ppc.rpm
Back to Keisuke Fujii's HEP on X Page keisuke.fujii@kek.jp January13, 2004