Provided by: cernlib-base-dev_20061220+dfsg3-4.2_all bug


       cernlib - print CERN library dependencies


       cernlib [options] libraries


       cernlib  is  a tool to list the compiler and linker options necessary to compile a CERNLIB
       program that has the given library dependencies.  It is generally used  within  a  command
       substitution, as in the following example:

       gfortran -o myprogram myprogram.F `cernlib -G Motif pawlib`

       This version of cernlib has been completely rewritten from the original script provided by
       CERN.  It now does recursive library dependency checking and removes duplicate entries.

       Note that by default, the cernlib script assumes that the CERN libraries are to be  linked
       against  statically;  if  the  environment variables $CERN or $CERN_ROOT are specified, it
       looks for the libraries only in the "lib" subdirectory of those locations, not any "shlib"
       subdirectory.    Furthermore,   the   script  brackets  the  CERN  libraries  with  linker
       instructions to link statically.  This is done to preserve the original upstream behavior,
       in which all CERNLIB libraries exist only in static form.  For instance, "cernlib packlib"

       -Wl,-static -lpacklib -lkernlib -Wl,-dy -lm -lnsl -lcrypt -ldl -lg2c

       If you want to link  against  ALL  libraries  (including  CERNLIB)  either  statically  or
       dynamically,  call  the cernlib script with its -safe flag to omit these bracketing linker
       flags.  That is: if you want to link against all libraries (not just CERNLIB)  statically,
       use the -static compiler flag and call cernlib with its -safe flag:

       gfortran -o myprogram myprogram.F -static `cernlib -safe -G Motif pawlib`

       and  if you want to link against all libraries (including the CERN libraries) dynamically,
       use the same command without the -static compiler flag (the linker assumes dynamic linking
       by default):

       gfortran -o myprogram myprogram.F `cernlib -safe -G Motif pawlib`


       -a arch
              Specify a system architecture, e.g. Linux (default), AIX, HP-UX, etc.

       -dy    Equivalent to -safe; for backwards compatibility.

       -G driver
              Specify  a  graphics driver.  The available options on Linux are X11 and Motif (the
              latter option will also work when the Lesstif library is present).

       -P, -s Ignored; for backwards compatibility.

       -safe  Do not make any assumptions about whether  the  CERN  libraries  should  be  linked
              against  dynamically  or  statically.   (The  default behavior, if this flag is not
              used, is to link them statically.)

       -u     Do not include architecture-specific libraries in the output.

       -v version
              Specify version of $CERN_LEVEL.  This is meaningless unless you have  installed  an
              upstream   version  of  CERNLIB  (i.e.  not  packaged  by  Debian);  see  the  file

       -?, --help
              Show a summary of options.

       --     Tell cernlib that this marks the end of cernlib-specific flags, and  all  following
              arguments  are  to be parsed as described in the LIBRARIES section below.  If -- is
              not given, the first word parsed as a library name  will  be  the  first  word  not
              starting with a hyphen "-" that is not an argument to a preceding cernlib flag.


       The  following  library names are recognized by this version of the cernlib script.  These
       names may be used exactly as shown here, or prefixed by "-l".

       Core CERN libraries
              mathlib, packlib, kernlib

       Graphics and PAW libraries
              graflib, pawlib

       Monte Carlo and GEANT libraries
              cojets, eurodec, geant321, herwig59, isajet758, pdflib804, photos202, phtools

       Additional Monte Carlo libraries
              (to obtain these, see /usr/share/doc/montecarlo-base/README.Debian)
              ariadne, ariadne-p5, fritiof, jetset, lepto, pythia5, pythia6

              The numerals at the end may be left off most of the library names above.

       Other library names
              Various other names are recognized for backwards compatibility, internal  use,  and
              non-Linux architectures.  For the complete list, please see the cernlib script.

       Other  Any  names  not  recognized  by  cernlib that start with "-l" or with any character
              other than a hyphen ("-") are output as -l${name#-l} (i.e., are  assumed  to  be  a
              library).   Names  starting with a hyphen for which the second character is not "l"
              are assumed to be compiler flags, and are output  at  the  beginning  of  the  line
              before all other output.


       /usr/share/doc/cernlib-base/README.Debian  describes  some  of  the changes that have been
       made to the CERN libraries in order to  comply  with  Debian  policy  and  the  Filesystem
       Hierarchy Standard.

       CERNLIB documentation for all related libraries and programs is available at the following


       This manual page and the version of the cernlib script that it describes were  written  by
       Kevin  McCarty  <>  for the Debian GNU/Linux system (but may be used by
       others).  They are licensed under the GNU General Public License, version 2 or  later  (at
       your choice).


       Copyright (C) Kevin B. McCarty, 2002, 2003, 2004, 2005, 2006.

                                           Jan 6, 2005                                 CERNLIB(1)