CERNLIB Installation

From GlueXWiki
Revision as of 12:26, 6 March 2007 by Bellis (Talk | contribs)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

I have come across a few issues in the CERNLIB installation which broke HDGeant. Some of them may be common knowledge, but I thought it useful to list them here.

Here's how I installed from source.

  1. Go to http://cernlib.web.cern.ch/cernlib/version.html

Decide which version you would like. For this example I chose 2006.

Click on the "compressed tar files" which takes you to http://cernlib.web.cern.ch/cernlib/download/2006_source/tar/

Grab the following.

  • 2006_src.tar.gz
  • include.tar.gz
  • mathlib32_src.tar.gz
  1. For the purposes of this example I am placing CERNLIB under /usr/local/cern and it is here that I place these three tarballs.
 cd /usr/local/cern
 tar -zxvf 2006_src.tar.gz
 tar -zxvf include.tar.gz

This should create the following directory structure

  2006
  2006/include
  2006/src  
  1. To install the libraries I modify the script provided by cern found here, changing the appropriate environment variables.

Because I don't have "gmake" on my machine, I also replace the gmake commands in the script with "make MAKE=make".

    1. I did have one make issue when installing on these systems. I found I had to comment out one line in one of the files

as it was creating some conflict with Motif libraries.

 2006/src/packlib/kuip/code_motif/iconwidget.c

In this file I had to comment out the following line (on my installation it was line 38)

 #ifndef __APPLE__
  //void   _XmDrawShadow ();
 #endif

This is probably specific to certain installations so be aware you may or may not have to do this.

  1. I found that this script does not install one key file so I do this by hand
 mkdir 2006/share
 mkdir 2006/share/lib
 cp 2006/src/geant321/data/xsneut95.dat 2006/share/lib/.
  1. You also need to build the lapack and blas libraries. The source can be obtained from http://cernlib.web.cern.ch/cernlib/install/lapack3.html

I found it easier to build them in some other directory and then copy them by hand to the appropriate location.

 cd tmp
 tar -zxvf lapack.tgz
 cd lapack-<version>
 cp make.inc.example make.inc

Edit make.inc to your heart's content. I think I left this alone.

 make lib
 cp lapack<version>.a $CERN_ROOT/lib/liblapack3.a
 cp blas<version>.a $CERN_ROOT/lib/libblas.a

Note that the lapack library has a 3 on the end and blas doesn't.

  1. OK, you should be all set to go!