6 November 2002



CERNLIB at SLAC is installed for a number of UNIX platforms. As of 2002, Linux and Solaris platforms are the only two platforms for which new versions of CERNLIB are installed. Older versions of CERNLIB are still available for IBM RS6000 systems running AIX, HP systems running HP Unix, and DEC Alpha systems running OSF.

Access and organization

All access to CERNLIB should be through the symbolic link:

In this directory you will find, among other things, directories such as:

which contain the various levels of CERNLIB avialable. You will also find the following symbolic links:

which point to different levels:

For example, the current production CERNLIB binaries live in

and the current production CERNLIB libraries live in

In this way, you will automatically access the "current" version appropriate for the platform you are logged into.

Note: in 2001 we stopped moving these links because an incompatibility caused problems for the BaBar experiment. Therefore, "pro" still points to the 2000 version of CERNLIB. Newer versions can of course be accessed using constructs such as:

Environment variables

Some CERNLIB programs assume that certain environment variables are set. When you work in a group (e.g. Babar), some utilities may assume that other environment variables are set. What these are depends a bit on which group you are in, and some groups tell you to execute ("source") a certain script in your .cshrc. After you log in, you might have, for example, the following environment variables set:

In the past, some groups have been using definitions such as:

This is no longer supported.

Current levels of the CERNLIB binaries on UNIX

In 1997, the installation at SLAC was modernized for the UNIX platforms, and will stay (within a few months) up to date with the CERNLIB level as it is installed at CERN. Below is a table of the most recent meanings of "old", "pro" and "new", for the most recent platform/OS-release combinations (older platform/OS-release combinations may have their links set differently).

Link Table

link As of 9 September 1999 As of 3 November 1999 As of 1 February 2000 As of 1 March 2000 As of 1 August 2001
old 97a 98 98 99 99
pro 98 99 99 2000 2000
new 99 99 2000 2000 2001

For other information, see also the CERNLIB future plans (from CERN) for the supported platform/OS-release combinations.

CERNLIB 2003 on Cygwin

A Cygwin version, produced locally here at SLAC, of the 2003 version of CERNLIB, is available on AFS in the directory /afs/slac/package/cernlib/cygwin/cern/2003. If you use OpenAFS on your windows machine, you may mount its parent directory (/afs/slac/package/cernlib/cygwin/cern) as a drive letter (say g:) on your system. Then you can create a /cern volume in cygwin as follows:

mount -s -b g:/ /cern >& /dev/null

Then add /cern/2003/bin to your path and link your programs using the cernlib script, as usual.

If you need to have this version on your own computer, you may download the following compressed tar files:

  1. Libraries
  2. Binaries
  3. Includes
  4. Sources (optional)

To use these, install them in some directory (say, /home/willy/cern/2003). Then mount its parent directory directory as a volume /cern:

mount -s -b /home/willy/cern/ /cern >& /dev/null


This version of CERNLIB is a modified version of the "official" CERNLIB 2003 distribution. It is not itself an official distribution, and it is only provided as a convenience to SLAC-affiliated personnel. Neither SLAC, Stanford, nor I, assume any guarantees that this distribution will work for any purpose whatsoever, or any implied responsibilities for future maintenance. The binaries for this version were created using Cygwin gcc version 3.2. Note further that this version is not the same as the version created by Zhiguo Yao, which was found not to compile with my current version of Cygwin libraries and compilers.

Documentation and Help

For various sources of information, see Guide to CERNLIB and Anaphe at SLAC


If you must use CERNLIB software on a VAX/VMS machine put the command @CERN_HOME:CERN_LOGIN in your LOGIN.COM file. This will initialize logical variables (like CERN$LIB). The VMS version of CERNLIB software at SLAC is not recommended, incomplete, and frozen. Currently, the only working version of Paw on SLACVX is pawX11_m in the "new" area. Levels and directories are listed in the tables below.

Libraries on VMS

Platform old pro new

Executables on VMS

Platform old pro new

Willy Langeveld