next up previous contents index
Next: TCP/IP considerations Up: Installing CERNLIB software Previous: Handling dependencies

Recommended procedure for installing CERNLIB

N.B. if there has been no previous installation of CERNLIB on your system, see section gif.

  1. Build the libraries in the following order:
    1. KERNLIB 
    2. MATHLIB 
    3. PACKLIB 
    4. Graphics libraries
      • GRAFLIB 
      • GRAFGKS
      • GRAFDGKS
      • GRAFX11
  2. Make PAWLIB
  3. Make the modules (PAW, , etc.)
  4. Make the Monte Carlo and other stand alone libraries

Rebuilding the complete CERN libraries

All of the libraries and modules can be rebuilt using the following command file.

   

MAKEALL.COM

$!
$! Make complete CERNLIB 
$!
$	set noon
$	save_message = f$environment("MESSAGE")
$!
$       warnings_from = "."
$       errors_from   = "."
$       severe_from   = "."
$!
$	cernlib = -
"KERNLIB,MATHLIB,PACKLIB,GRAFLIB,GRAFGKS,GRAFDGKS,GRAFX11,PAWLIB" + -
",CERNPGM,USERPGM,MCLIBS,GEANT321"
$	if p1 .nes. "" then cernlib = p1
$	count   = 0
$ packages:
$	set message 'save_message'
$	package = f$element(count,",",cernlib)
$	if package .eqs. "," then goto end
$	write sys$output "Building ''package' at ''f$time()'"
$	make 'package'
$	wait 0:0:10
$	set message/nofacility/noidentification/noseverity/notext
$ p_wait:
$	show process/nooutput 'package'
$	if $severity .eq. 0 
$	then
$	   write sys$output "''package' complete at ''f$time()'"
$          search cern:[new.log]'package'.log "*** "
$!
$          search/nooutput cern:[new.log]'package'.log "*** WARNING EXIT from"
$	   if $severity .eq. 1 then warnings_from = warnings_from + package + "."
$          search/nooutput cern:[new.log]'package'.log "*** ERROR EXIT from"
$	   if $severity .eq. 1 then errors_from = errors_from + package + "."
$          search/nooutput cern:[new.log]'package'.log "*** SEVERE ERROR EXIT from"
$	   if $severity .eq. 1 then severe_from = severe_from + package + "."
$!
$	   count = count + 1
$	   goto packages
$	endif
$	wait 0:1
$	goto p_wait
$ end:
$	write sys$output "CERNLIB build complete at ''f$time()'"
$	set message 'save_message'
$	if warnings_from .nes. "." then write sys$output -
"Warnings from ''warnings_from'"
$	if errors_from .nes.   "." then write sys$output -
"Errors from ''errors_from'"
$	if severe_from .nes.   "." then write sys$output -
"Severe errors from ''severe_from'"

Rebuilding PAW

All of the PAW modules, libraries and associated packages can be rebuilt using the following command file.

   

Command file to rebuild PAW

$!
$! Rebuild PAW
$!
$	set noon
$	save_message = f$environment("MESSAGE")
$!
$       warnings_from = "."
$       errors_from   = "."
$       severe_from   = "."
$!
$	cernlib = "PAWLIB,GRAFLIB,GRAFGKS,GRAFDGKS,GRAFX11,KUIP,PACKLIB,PAWALL"
$	if p1 .nes. "" then cernlib = p1
$	count   = 0
$ packages:
$	set message 'save_message'
$	package = f$element(count,",",cernlib)
$!
$! Treat PACKLIB specially
$!
$       if package .eqs. "PACKLIB"
$       then
$          makepack -l packlib
$          count = count + 1
$          goto packages
$       endif
$!
$	if package .eqs. "," then goto end
$	write sys$output "Building ''package' at ''f$time()'"
$	make 'package'
$	wait 0:0:10
$	set message/nofacility/noidentification/noseverity/notext
$ p_wait:
$	show process/nooutput 'package'
$	if $severity .eq. 0 
$	then
$	   write sys$output "''package' complete at ''f$time()'"
$          search cern:[new.log]'package'.log "*** "
$!
$          search/nooutput cern:[new.log]'package'.log "*** WARNING EXIT from"
$	   if $severity .eq. 1 then warnings_from = warnings_from + package + "."
$          search/nooutput cern:[new.log]'package'.log "*** ERROR EXIT from"
$	   if $severity .eq. 1 then errors_from = errors_from + package + "."
$          search/nooutput cern:[new.log]'package'.log "*** SEVERE ERROR EXIT from"
$	   if $severity .eq. 1 then severe_from = severe_from + package + "."
$!
$	   count = count + 1
$	   goto packages
$	endif
$	wait 0:1
$	goto p_wait
$ end:
$	write sys$output "PAW build complete at ''f$time()'"
$	set message 'save_message'
$	if warnings_from .nes. "." then write sys$output -
"Warnings from ''warnings_from'"
$	if errors_from .nes.   "." then write sys$output -
"Errors from ''errors_from'"
$	if severe_from .nes.   "." then write sys$output -
"Severe errors from ''severe_from'"

Installing KERNLIB

KERNLIB  can be built using the command make kernlib.  

Installing MATHLIB

MATHLIB  can be built using the command make mathlib. This will execute the following commands:       Building MATHLIB

vxcrna:/cernlib > make -n mathlib
        makepack -p LAPACK  
        makepack -s LAPACK  
        makepack -c LAPACK  
        makepack -p BVSL    
        makepack -s BVSL    
        makepack -c BVSL    
        makepack -p MPA     
        makepack -s MPA     
        makepack -c MPA     
        makepack -p GEN     
        makepack -s GEN     
        makepack -c GEN     
        makepack -l MATHLIB

Installing PACKLIB

  PACKLIB  can be built using the command make packlib. PACKLIB currently consists of the following packages:

Installing graphics libraries

The graphics libraries are divided into a kernel library, GRAFLIB  , and package specific libraries:

GRAFGKS
GTS-GRAL GKS specific routines
GRAFDGKS
DEC GKS specific routines
GRAFX11
X11 specific routines

They may be installed using the command make GRAFLIB GRAFGKS GRAFDGKS GRAFX11.

Building the Monte Carlo and other stand alone libraries

These may be made using the command make target. Note that some of the packages are available in several versions. For example, versions 6.3, 7.3 and 7.4 of JETSET are all available at the time of writing. The available versions can be found as shown below.

Listing the available versions of a given package

vxcrna:/cernlib > dir cern:[new.src.car]jetset*.car

Directory CERN:[NEW.SRC.CAR]

JETSET63.CAR;1      JETSET73.CAR;1      JETSET74.CAR;1     

Total of 3 files.

Version 7.4 of JETSET is installed by typing make jetset74.

In a number of cases, the documentation is extracted by typing make targetD, e.g. make herwig54D. If this is the case, you will find an appropriate cradle in the CERN_LEVEL:[SRC.CAR] area, e.g. herwig54D.cra.

Installing PAWLIB

The PAW library PAWLIB is required if you wish to build PAW or if you intend to link your own applications with the PAW routines. It is built using the command make pawlib. This will extract and compile the various components, as shown below.

Building PAWLIB

vxcrna:/cernlib > make -n pawlib
        makepack -p PAW     
        makepack -s PAW     
        makepack -c PAW     
        makepack -p COMIS   
        makepack -s COMIS   
        makepack -c COMIS   
        makepack -p SIGMA    
        makepack -s SIGMA    
        makepack -c SIGMA    
        makepack -l PAWLIB

Building the CERNLIB modules

All of the following modules can be built using the syntax make target except where indicated. Some modules can be built together, e.g. the various versions of PAW.

AKMULT
Program to split a file containing multiple Macro routines into individual files. (Obsolete?)
HTONEW
Program to convert HBOOK files. Not built with CERNLIB procedures.



next up previous contents index
Next: TCP/IP considerations Up: Installing CERNLIB software Previous: Handling dependencies


Janne Saarela
Wed Mar 29 15:50:22 METDST 1995