To build cernlib from the source files you need to install, the imake command, the motif and the compatibility libraries. $ su # apt-get update # apt-get install imake openMotif-devel Libcompat # apt-get clean If you just want to use precompiled binary packages, go directly to Installation subsection. CERNLIB-2006 Building Procedure. My experiences in installing IPOPT on Mac OS X by Peter Carbonetto Dept. Of Computer Science. A lot of people are upset that the GNU Fortran compiler g77 was not included with the Apple Developer Tools because installing it ourselves causes many extra headaches. But we'll have to make do. Another route is to install g77 via Fink. The purpose of this fork is to bring up support for building CERNLIB on modern Linux systems with modern GNU compiler toolchain. This setup has been tested on Ubuntu 12.04, gfortran 4.6.3. Dependencies sudo apt-get install xutils-dev libmotif-dev libxt-dev libxft-dev 32-bit build. Run build32 choosing which version to build - 2005 or 2006.
Preparation:lapack
FinkCommander is a graphical user interface for the Fink software packaging system for Mac OS X. It provides an intuitive front-end to the Fink command-line tools for downloading and installing Unix software. CERNLIB, Dis45, and TDR on MacOS X Of course, you need to install X11 beforehand. Preparation: lapack. Notice that as of CERNLIB v.2001, lapack routines have been removed from mathlib.
To build cernlib from the source files you need to install, the imake command, the motif and the compatibility libraries.
$ su
# apt-get update
# apt-get install imake openMotif-devel Libcompat
# apt-get clean
If you just want to use precompiled binary packages, go directly to Installation subsection.
CERNLIB-2006Building Procedure
Compilation ConditionsMacOS X Release 10.11My gfortran-related changes have been sent to a CERNLIB maintainerand adopted in CERNLIB v.2006 so the building of CERNLIB on MacOS Xis now much easier than before.In order to compile it in 64-bit mode, however, we need extra paches.The patches for 64-bit support are largely due to Harald Vogt at DESY.Thanks to Remi Mommsen, the main cernlib mainteainer of Fink Project, these 64-bit paches have been assmbled with various MacOSX patches. The first patch I will use below is the result of hard work by these people.
gcc-5.3.0-1osx10.11
imake-1.0.5-10.11hepx4a
Libcompat-14.1-10.11hepx3a
motif-2.3.4-1osx10.11
[0] Preparation
In the following, <somewhere> stands for a directory intowhich you downloaded necessary tarballs or patches, while <username> means your login name. Replace them as needed according toyour environment.
# cd /
# rm cern
# mkdir /Users/cernlib
# ln -s /Users/cernlib cern
# cd /cern
# tar -zxvf 2006_src.tar.gz
# ln -s 2006 new
# ln -s 2006 pro
# mkdir -p 2006/work
# chown <user name> 2006/work
# chown <user name> 2006
# cd 2006/src
# patch -p1 -s < <somewhere>/cernlib2006-2006b-14.patch
# patch -p1 -s < <somewhere>/cernlib-2006-macosx10.9.patch
# exit
where the 2nd patch is to work around some remaining problems. It is probably worth mentioning that the addtion of '-Wl,-no_pie' to LDFLAGS was essentail to making paw work properly).
[1] Build
$ cd /cern/2006/
$ mkdir lib
$ ln -s /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libLAPACK.dylib lib/liblapack3.a
$ ln -s /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libBLAS.dylib lib/libblas.a
$ cd ../work
$ export CVSCOSRC=/cern/2006/src
$ mkdir ../bin
$ cp $CVSCOSRC/scripts/cernlib ../bin/
$ $CVSCOSRC/config/imake_boot
$ export PATH=$PATH:/cern/2006/bin
$ 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 PACKAGE_LIB='/cern/pro/lib/libpacklib.a' EXTRA_LOAD_FLAGS='-L/opt/osxws/lib -lgfortran' >& ../../logs/packlib.bin.log &
$ tail -f ../../logs/packlib.bin.log
$ cd ../pawlib
$ make install.bin HAVE_MOTIF=YES PACKAGE_LIB='/cern/pro/lib/libpawlib.a' EXTRA_INCLUDES='-I/cern/2006/src/pawlib/comis' >& ../../logs/pawlib.bin.log &
$ tail -f ../../logs/pawlib.bin.log
$ cd ../graflib
$ make install.bin HAVE_MOTIF=YES PACKAGE_LIB='/cern/pro/lib/libgraflib.a' >&../../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 PACKAGE_LIB='/cern/pro/lib/libpacklib.a' >& ../../logs/packlib.test.log &
$ tail -f ../../logs/packlib.test.log
ALL TESTS PASSED
$ cd ../mathlib
$ make test PACKAGE_LIB='/cern/pro/lib/libmathlib.a' >& ../../logs/mathlib.test.log &
$ tail -f ../../logs/mathlib.test.log
ALL TESTS PASSED
$ cd ../graflib/higz/examples
$ make higzex PACKAGE_LIB='/cern/pro/lib/libgraflib.a'
$ ./higzex
OK!
$ cd ../../../../src/pawlib/paw/demo
$ paw all.kumac
...
go
...
OK!
$ cd ../../../../work/mclibs
$ FC='gfortran -O0' make test >& ../../logs/mclibs.test.log &
$ tail -f ../../logs/mclibs.test.log
ALL test PASSED
$ cd ../phtools
$ make test >& ../../logs/phtools.test.log &
$ tail -f ../../logs/phtools.test.log
ALL TESTSPASSED
$ cd ../geant321
$ make test EXTRA_LOAD_FLAGS='-undefined dynamic_lookup' >& ../../logs/geant321.test.log &
$ tail -f ../../logs/geant321.test.log
ALL TESTSPASSED
Installation of Binary Packages
CERNLIB# apt-get update
# apt-get install cernlib
# apt-get clean
# ln -s 2006 /cern/pro
By default cernlib will be installed under /cern. Add /cern/pro/binto your PATH in order to use PAW, PAW++, etc.
Dis45
# apt-get update# apt-get install dis45
# apt-get clean
Installing Fink Cernlib And G77 For Mac Os
Topdrawer
# apt-get update# apt-get install tdr
# apt-get clean
Installing Fink Cernlib And G77 For Macbook Pro
or# apt-get update
# apt-get install topdraw
# apt-get clean