OnWorks favicon

cernlib - Online in the Cloud

Run cernlib in OnWorks free hosting provider over Ubuntu Online, Fedora Online, Windows online emulator or MAC OS online emulator

This is the command cernlib that can be run in the OnWorks free hosting provider using one of our multiple free online workstations such as Ubuntu Online, Fedora Online, Windows online emulator or MAC OS online emulator



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.

Use cernlib online using onworks.net services

Free Servers & Workstations

Download Windows & Linux apps

  • 1
    Code::Blocks is a free, open-source,
    cross-platform C, C++ and Fortran IDE
    built to meet the most demanding needs
    of its users. It is designed to be very
    Download Code::Blocks
  • 2
    Amidst or Advanced Minecraft Interface
    and Data/Structure Tracking is a tool to
    display an overview of a Minecraft
    world, without actually creating it. It
    can ...
    Download Amidst
  • 3
    MSYS2 is a collection of tools and
    libraries providing you with an
    easy-to-use environment for building,
    installing and running native Windows
    software. It con...
    Download MSYS2
  • 4
    libjpeg-turbo is a JPEG image codec
    that uses SIMD instructions (MMX, SSE2,
    NEON, AltiVec) to accelerate baseline
    JPEG compression and decompression on
    x86, x8...
    Download libjpeg-turbo
  • 5
    Xtreme Download Manager
    Xtreme Download Manager
    The project has a new home now:
    https://xtremedownloadmanager.com/ For
    https://github.com/subhra74/xdm Xtreme
    Download Manager is a powerful tool t...
    Download Xtreme Download Manager
  • 6
    TTGO VGA32 Lite
    TTGO VGA32 Lite
    Features:4:3 and 16:9 low resolution
    VGA outputPS/2 keyboard and mouse
    inputText-based user interface (TUI)
    with dialog managerPartial Unicode
    supportSlave dis...
    Download TTGO VGA32 Lite
  • More »

Linux commands