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
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.
MacOS 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:
[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
[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
# 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
To 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