Next: CERNLIB - Software Up: CERNLIB Previous: CERNLIB - Overview

CERNLIB - Initial Setup and Configuration

The CERNLIB directory structure

The CERNLIB directory structure is basically the same for Unix, VMS and VM/CMS systems. We describe below the structure for Unix systems and note the differences for VMS and VM/CMS systems.

The CERNLIB tree

The directory tree for CERNLIB files begins at /cern. This may be a filesystem or a link. Below this top level directory are a number of subdirectories which fall into one of three categories:

The /cern directory tree
zfatal:/cern (76) ls /cern
93c     94a     cmz     new     patchy  pro
93d     WWW     mad     old     phigs
#
#
zfatal:/cern (80) ls -l      
total 24
drwxrwxr-x   7 cpl-main asis         512 Jul 05 22:32 93c
drwxrwxr-x   6 cpl-main asis         512 Nov 10 18:13 93d
drwxr-xr-x   4 cernlib  asis         512 Oct 21 03:53 94a
drwxrwxr-x   3 cpl-gean asis         512 Feb 23 1993  WWW
drwxrwxr-x   5 cpl-hist asis         512 Oct 28 09:14 cmz
drwxrwxr-x   4 8120     asis         512 Nov 08 1992  mad
lrwxrwxrwx   1 cpl-main asis           3 Jun 14 13:16 new -> 93d
lrwxrwxrwx   1 cpl-main asis           3 Sep 23 09:02 old -> 93c
drwxrwxr-x   3 8117     asis         512 Nov 26 1992  patchy
drwxrwxr-x   4 cpl-main asis         512 Jun 10 15:24 phigs
lrwxrwxrwx   1 cernlib  asis           3 Oct 28 14:14 pro -> 93d

VMS specific details

On VMS systems, the logical name CERN points to the root directory for the CERNLIB tree, as shown below. The CERN logical name

VXCRNA? sh log cern
   "CERN" = "_$22$DUS206:[CERN.]" (LNM$SYSTEM_TABLE)

This directory contains subdirectories as in the Unix case, as shown below. CERNLIB subdirectory structure

VXCRNA? dir $22$dus206:[cern]
Directory $22$DUS206:[CERN]
000000.DIR;1        92B.DIR;1           93C.DIR;1           93D.DIR;1
94A.DIR;1           CMZ.DIR;1           DECW.DIR;1          FATMEN.DIR;1
GKS.DIR;1           HEPDB.DIR;1         HISTORIAN.DIR;1     HYDRA.DIR;1
LAPACK.DIR;1        MAD.DIR;1           NAG.DIR;1           NEW.DIR;1
OLD.DIR;1           PATCHY.DIR;1        PHIGS.DIR;1         PRO.DIR;1
RELEASE.LEVEL;8     WWW.DIR;1

VXCERN specific details

The CERN logical name

On VXCERN, the logical name CERN is a search list. It is composed of three individual logical names, as follows:

CERNAXP
The Alpha specific tree.
CERNVAX
The VAX specific tree.
CERNNFS
The CERN subdirectory of the asis system independant tree /asis/share, NFS mounted.
Defining the CERN logical names on VXCERN
$!
$! CERN library tree is on DISK$CERNLIB volume set
$!
$ if f$logical("disk$cernlib").nes.""
$ then
$   cernlib_disk = F$getdvi("disk$cernlib","FULLDEVNAM")
$   def/sys/exec/tran=(term,conc) cernaxp 'cernlib_disk'[cernaxp.]
$   def/sys/exec/tran=(term,conc) cernvax 'cernlib_disk'[cern.]
$ endif
$!
$! Now mount the /asis/share file system
$!
$ nfsmount/soft asis01:"/asis/share"                 ASIS_SHARE
$ nfsdev=F$GETDVI("ASIS_SHARE","FULLDEVNAM")
$ If nfsdev.nes."" Then -
     assign/sys/exec/trans=(conc,term) 'nfsdev'[cern.] NFSCERN
$ If nfsdev.nes."" Then -
     assign/sys/exec/trans=(conc,term) 'nfsdev'[cern.] CERNNFS
$ Endif
$!
$! Now define the CERNlib logical names as a function of the above
$!
$ @cern:[new.mgr]cern\_logicals

At the time of writing, some directories exist only in the CERNVAX tree. However, it is planned that all files shared between the VAX and Alpha architectures be moved progressively to the asis01 server.

N.B. the binaries and libraries are incompatible between VAX and Alpha systems. Thus, if you wish to copy the VAX executables over DECnet, use

COPY VXCERN::CERNVAX:[PRO.EXE]*.*

Similarly, to get the Alpha versions of the libraries, use

COPY VXCERN::CERNAXP:[PRO.LIB]*.*

The subdirectory structure

On VXCERN, the NEW, PRO and OLD subdirectories are pointers to other subdirectories, created using the VMS command SET FILE/ENTER.

Symbol definitions for CERNLIB products

On VXCERN, much of the system wide login procedure is performed using CLUSTER$MANAGER:EXSYLOGIN.EXE. This is done to speed up logins. The symbols definitions for the CERNLIB commands are defined in the program CERN_ROOT:[MGR]CERNLOGIN.FOR. You may either include this file into your own Fortran file or use the file MAIN_CERNLOGIN.FOR.

MAIN_CERNLOGIN.FOR

IMPLICIT INTEGER(A-Z)
      INCLUDE '($LIBCLIDEF)'
      CHARACTER*(*) C_EXE
      PARAMETER(C_EXE='CERN_ROOT:[EXE]')
C
      I=LIB$K_CLI_GLOBAL_SYM
C
      INCLUDE 'CERN_ROOT:[MGR]CERNLOGIN.FOR'
C 
      END

Symbol definitions on VXCERN using CERNLOGIN.FOR

C      IMPLICIT INTEGER(A-Z)
C      INCLUDE '($LIBCLIDEF)'
C      CHARACTER*(*) C_EXE
C      PARAMETER(C_EXE='CERN_ROOT:[EXE]')
C
C THIS IS A FAST VERSION OF THE USUAL SYSTEM WIDE LOGIN.COM .
C ALL CERN LIBRARY SYMBOL DEFINITIONS ARE CODED HERE.
C
C ====================================================================
C Customization section: enable if product is available at your site
C
      f_cmz  =1                ! CMZ       - CODEME
      f_garf =1                ! GARFIELD  - CERN
      f_gks  =1                ! GKS       - GTS-GRAL   
      f_his  =1                ! HISTORIAN - OPCODE
      f_mad  =1                ! MAD       - CERN
      f_nag  =1                ! NAG       - NAG Ltd
      f_patc =1                ! PATCHY    - CERN
      f_rzco =1                ! RZCONV    - CERN
      f_umon =1                ! UMON      - CERN
      f_vaxt =1                ! VAXTAP    - CERN
      f_www  =1                ! WWW       - CERN
C
C End of customization
C ====================================================================
C
C     I=LIB$K_CLI_GLOBAL_SYM
C
      RECODE=LIB$SET_SYMBOL('CERNLIB','$'//C_EXE//'CERNLIB' ,I)
      RECODE=LIB$SET_SYMBOL('CERN_LEVEL','PRO'                  ,I)
C
C---  PATCHY Symbols
C
      IF(F_PATC.EQ.1) THEN
        RECODE=
     +  LIB$SET_SYMBOL('FCASPLIT','$CERN:[patchy.4_15.EXE]FCASPLIT',I)
C
        RECODE=
     +  LIB$SET_SYMBOL('YCOM*PAR','$CERN:[patchy.4_15.EXE]YCOMPAR',I)
        RECODE=
     +  LIB$SET_SYMBOL('YEDI*T'  ,'$CERN:[patchy.4_15.EXE]YEDIT'  ,I)
        RECODE=
     +  LIB$SET_SYMBOL('YFRC*ETA','$CERN:[patchy.4_15.EXE]YFRCETA',I)
        RECODE=
     +  LIB$SET_SYMBOL('YIND*EX' ,'$CERN:[patchy.4_15.EXE]YINDEX' ,I)
        RECODE=
     +  LIB$SET_SYMBOL('YLIS*T'  ,'$CERN:[patchy.4_15.EXE]YLIST'  ,I)
C 
        RECODE=
     +  LIB$SET_SYMBOL('YPAT*CHY','$CERN:[patchy.4_15.EXE]YPATCHY',I)
        RECODE=
     +  LIB$SET_SYMBOL('YSEA*RCH','$CERN:[patchy.4_15.EXE]YSEARCH',I)
        RECODE=
     +  LIB$SET_SYMBOL('YSHI*FT' ,'$CERN:[patchy.4_15.EXE]YSHIFT' ,I)
        RECODE=
     +  LIB$SET_SYMBOL('YTOBC*D' ,'$CERN:[patchy.4_15.EXE]YTOBCD' ,I)
        RECODE=
     +  LIB$SET_SYMBOL('YTOBI*N' ,'$CERN:[patchy.4_15.EXE]YTOBIN' ,I)
        RECODE=
     +  LIB$SET_SYMBOL('YTOC*ETA','$CERN:[patchy.4_15.EXE]YTOCETA',I)
C 
        RECODE=LIB$SET_SYMBOL('YEXP*AND','@'//C_EXE//'YEXPAND',I)
C 
      ENDIF
C
C---  CERNlib Tools
C
      RECODE=LIB$SET_SYMBOL('GETOPT','@'//C_EXE//'GETOPT'   ,I)
      RECODE=LIB$SET_SYMBOL('SETENV','@'//C_EXE//'SETENV " "',I)
      RECODE=LIB$SET_SYMBOL('XTERM' ,'@'//C_EXE//'XTERM " "',I)
      RECODE=LIB$SET_SYMBOL('RESIZE','@'//C_EXE//'RESIZE'   ,I)
      RECODE=LIB$SET_SYMBOL('MKCOMP*ILE','@'//C_EXE//'MKCOMPILE',I)
C
C---  CERNlib Products
C
      RECODE=LIB$SET_SYMBOL('DZEDIT','@'//C_EXE//'DZEDIT " "',I)
      RECODE=LIB$SET_SYMBOL('FM','$'//C_EXE//'FATMEN'       ,I)
      RECODE=LIB$SET_SYMBOL('HEPDB','$'//C_EXE//'HEPDB'     ,I)
      RECODE=LIB$SET_SYMBOL('GXINT','@'//C_EXE//'GXINT " "' ,I)
      RECODE=LIB$SET_SYMBOL('HIGZCONV','$'//C_EXE//'HIGZCONV',I)
      RECODE=LIB$SET_SYMBOL('KUIPC','$'//C_EXE//'KUIPC'     ,I)
      RECODE=LIB$SET_SYMBOL('PAW' ,'@'//C_EXE//'PAW.COM " "',I)
      RECODE=LIB$SET_SYMBOL('HTONEW','$'//C_EXE//'HTONEW'   ,I)
      RECODE=LIB$SET_SYMBOL('FATSREQ','$'//C_EXE//'FATSREQ' ,I)
      RECODE=LIB$SET_SYMBOL('SYSREQ','$'//C_EXE//'SYSREQ'   ,I)
      RECODE=
     +LIB$SET_SYMBOL('TELNETG','@'//C_EXE//'TELNETG.COM " "',I)
      RECODE=LIB$SET_SYMBOL('ZFTP','$'//C_EXE//'ZFTP'       ,I)
      RECODE=LIB$SET_SYMBOL('WYLBUR','$'//C_EXE//'WYLBUR'   ,I)
      RECODE=LIB$SET_SYMBOL('USE','$'//C_EXE//'WYLBUR'      ,I)
C
      RECODE=LIB$SET_SYMBOL('TO','$'//C_EXE//'NEWTONET.EXE' ,I)
C
C---  CMZ symbols
C
      IF(F_CMZ.EQ.1) THEN
      RECODE=LIB$SET_SYMBOL('CMZ' ,'@'//C_EXE//'CMZ.COM " "',I)
      ENDIF
C
C---  GARFIELD symbols
C
      IF(F_GARF.EQ.1) THEN
      RECODE=LIB$SET_SYMBOL('GA*RFIELD','$'//C_EXE//'GARFRUN',I)
C     RECODE=LIB$SET_SYMBOL('GH*ELP',
C    +                      'HELP/NOLIBLIST/LIBRARY=HELP$GARFIELD',I)
      RECODE=LIB$SET_SYMBOL('GED*IT','LSE/ENV=LSE$GARFIELD',I)
      ENDIF
C
C---  GKS symbols
C
C     IF(F_GKS.EQ.1) THEN
C
C     ENDIF
C
C---  HISTORIAN symbols
C
      IF(F_HIS.EQ.1) THEN
      RECODE=LIB$SET_SYMBOL('HISTE','$HISTORIAN_ROOT:[EXE]HISTE',I)
      RECODE=LIB$SET_SYMBOL('HISTG','$HISTORIAN_ROOT:[EXE]HISTG',I)
      RECODE=LIB$SET_SYMBOL('HISTO*R','$HISTORIAN_ROOT:[EXE]HISTOR',I)
      ENDIF
C
C---  MAD symbols
C
      IF(F_MAD.EQ.1) THEN
      RECODE=LIB$SET_SYMBOL('MAD8','@'//C_EXE//'MAD8.COM " "',I)
      ENDIF
C
C---  NAG symbols
C
      IF(F_NAG.EQ.1) THEN
C     RECODE=LIB$SET_SYMBOL('NAGH*ELP','$NAG_ROOT:[EXE]NAGHELP'    ,I)
      RECODE=LIB$SET_SYMBOL('NAGT*EST','@NAG_ROOT:[EXE]NAGTEST " "',I)
      ENDIF
C
C---  RZCONV symbols
C
      RECODE=LIB$SET_SYMBOL('RTOA','$'//C_EXE//'RTOA',I)
      RECODE=LIB$SET_SYMBOL('RTOX','$'//C_EXE//'RTOX',I)
      RECODE=LIB$SET_SYMBOL('RFRA','$'//C_EXE//'RFRA',I)
      RECODE=LIB$SET_SYMBOL('RFRX','$'//C_EXE//'RFRX',I)
C
C---  VAXTAP symbols
C
      IF(F_VAXT.EQ.1) THEN
       RECODE=LIB$SET_SYMBOL('EINIT'    ,'$'//C_EXE//'EINIT'    ,I)
       RECODE=LIB$SET_SYMBOL('LABELDUMP','$'//C_EXE//'LABELDUMP',I)
       RECODE=LIB$SET_SYMBOL('SETUP'    ,'$'//C_EXE//'SETUP'    ,I)
       RECODE=LIB$SET_SYMBOL('STAGE'    ,'$'//C_EXE//'STAGE'    ,I)
       RECODE=LIB$SET_SYMBOL('TAPECOPY' ,'@'//C_EXE//'TAPECOPY' ,I)
       RECODE=LIB$SET_SYMBOL('WRTAPE'   ,'$'//C_EXE//'WRTAPE'   ,I)
       RECODE=LIB$SET_SYMBOL('XTAPE'    ,'$'//C_EXE//'XTAPE'    ,I)
      ENDIF 
C
C---  WWW symbols
C
      IF(F_WWW.EQ.1) THEN
      RECODE=LIB$SET_SYMBOL('WWW'     ,'$CERN:[WWW.EXE]WWW'        ,I)
      RECODE=LIB$SET_SYMBOL('WEB'     ,'@CERN_ROOT:[EXE]WEB " "'   ,I)
C     RECODE=LIB$SET_SYMBOL('XMOSAIC' ,'@CERN:[WWW.EXE]XMOSAIC'    ,I)
      ENDIF
C

VM/CMS specific details

CERNVM specific details

Initial setup and configuration for Unix systems

The following steps must be followed before installing CERNLIB software on Unix systems.

  1. Create a directory for the CERN software
  2. Install the PATCHY modules. For further information, see chapter
  3. Install the installation procedures. For further information, see chapter
  4. Define the appropriate environmental variables. For further information, see chapter .

Initial setup and configuration for VMS systems

The following steps must be followed before installing CERNLIB software on VMS systems.

  1. Create a directory for the CERN software
  2. Install the PATCHY modules
  3. Install the installation command files
  4. Define the appropriate symbols

Installing PATCHY

The PATCHY modules are stored in the BACKUP saveset VXCERN::CERN:[PRO.BCK]CRNPAT.BCK. We can either retrieve and unpack this saveset or install PATCHY from scratch as shown below.

Installing PATCHY from scratch

VSCLIB? create/directory [.patchy]

VSCLIB? create/directory [.scratch] ! work directory for patchy installation

VSCLIB? set default [.patchy]

VSCLIB? copy vxcern::cernvax:[patchy.src.vaxvms]*.* *

VSCLIB? edit/edt patchy.com  ! modify the source, work and target directories as appropriate

VSCLIB? @patchy

PATCHY.COM command file

$!******************************************************************   
$!*                                                                *   
$!*  Patchy installation job                                       *   
$!*                                                                *   
$!******************************************************************
$!   
$!--- Customization section ----------------------------------------
$! SDIR="CERN:[PATCHY.SRC.VAXVMS]"     ! Patchy source directory
$! WDIR="DISK$SCRATCH:[PUBCR.WORK]"    ! working directory
$  sdir="disk$user1:[jamie.patchy]"
$  wdir="disk$user1:[jamie.scratch]"
$!------------------------------------------------------------------
$!
$ ver_imag=F$ENVIRONMENT("verify_image")
$ ver_def =F$ENVIRONMENT("DEFAULT")
$ ver_proc=F$VERIFY(0)
$
$ SET DEFAULT 'WDIR'
$
$ If F$SEARCH("P4INCETA.CET").eqs."" Then COPY 'SDIR'P4INCETA.CET *.*
$!-------------
$ If p1.nes."R" 
$ Then
$   @'SDIR'rceta.sh
$   differ p4boot.com 'SDIR'p4boot.sh0
$   @p4boot 0
$ Else
$   copy 'SDIR'p4boot.sh0 p4boot.com
$   @p4boot 1    
$   @p4boot 2
$ Endif
$!----------------------------------------------------------------------
$ copy/log   Y*.EXE   CERN_ROOT:[EXE]
$ delete/log Y*.EXE;*,RCETA.*;*
$!
$ dummy=F$VERIFY(ver_proc,ver_imag)
$ SET DEFAULT 'ver_def'
$ Exit

Creating directories for CERNLIB

The following example shows how one might setup the CERNLIB tree on a new system.

Example of directory setup for installing the CERNLIB software

VSCLIB? show default

  DISK$USER1:[CERNLIB]

VSCLIB? create/directory [.cern]

VSCLIB? show logical disk$user1

   "DISK$USER1" = "_UXCNB1$DUA20:" (LNM$SYSTEM_TABLE)

VSCLIB? def/job/tran=(conc,term) cern _uxcnb1$dua20:[cernlib.cern.]

VSCLIB? create/directory cern:[cmz]              ! If you wish to install CMZ

VSCLIB? set default cern:[new]

VSCLIB? create/directory cern:[new.src]          

VSCLIB? create/directory cern:[new.src.car]      ! For the source files

VSCLIB? create/directory cern:[new.mgr]          ! for the installation command files

VSCLIB? create/directory cern:[new.exe]          ! required for GETOPT, SETENV etc.

VSCLIB? create/directory cern:[new.lib]          ! for OLBs and link options files

Retrieving the installation command files

We now retrieve the installation files as shown below.

Retrieving the installation files

VSCLIB? set default cern:[new.mgr]

VSCLIB? copy vxcern::cern:[new.mgr]*.com; *

VSCLIB? copy vxcern::cern:[new.mgr]*.for; *

VSCLIB? copy vxcern::cern:[new.mgr]*.c; *

VSCLIB? set default [-.exe]

VSCLIB? copy vxcern::cern:[new.exe]*.com; *

VSCLIB? set default cern:[new.lib]

VSCLIB? copy vxcern::cern:[new.lib]*.opt; *

VSCLIB? create/directory cern:[decw] ! If you want to link PAW with the old version
                                     ! of DECwindows
VSCLIB? set default cern:[decw]

VSCLIB? copy vxcern::cernvax:[decw]*.exe *

We now compile and link the program MAIN_CERNLOGIN.FOR and customise our LOGIN.COM.

Example LOGIN.COM for the CERNLIB account

$ define cern _uxcnb1$dua20:[cernlib.cern.] /trans=(conc,term)
$ run cern:[new.mgr]main_cernlogin
$!
$! The following symbols are defined by
$! MAIN_CERNLOGIN but we chose to keep
$! these modules in a different place
$!
$ ycompare :== $cern:[new.exe]ycompare
$ yedit    :== $cern:[new.exe]yedit
$ yfrceta  :== $cern:[new.exe]yfrceta
$ yindex   :== $cern:[new.exe]yindex
$ ylist    :== $cern:[new.exe]ylist
$ ypatchy  :== $cern:[new.exe]ypatchy
$ ysearch  :== $cern:[new.exe]ysearch
$ yshift   :== $cern:[new.exe]yshift
$ ytobcd   :== $cern:[new.exe]ytobcd
$ ytobin   :== $cern:[new.exe]ytobin
$ ytoceta  :== $cern:[new.exe]ytoceta
$!
$ yexp*and :== @cern:[new.exe]yexpand
$!
$ fcasplit :== $cern:[new.exe]fcasplit
$!
$ cern_level :== new
$!
$ @cern:[new.mgr]plienv

Retrieving the source files

We can retrieve the source files as follows.

Retrieving the source files

VSCLIB? set default cern:[new.src.car]

VSCLIB? copy vxcern::cern:[new.src.car]*.c%% *  ! .cra and .car files

If we are in DECnet areas 22 or 23, the DECnet areas reserved for CERN, the installation procedures will automatically access the sources through VXCERN.

Final configuration

We are now ready to begin the CERNLIB installation. If there has been no previous installation of CERNLIB on this system, we must procede as follows:

Compile GETHOSTNAME.C and place the object file in CERN:[NEW.LIB].
Prior to building PACKLIB, we must build
CERNLIB
The CERNLIB command. Built by typing make cernlib.
KUIPC
The KUIP compiler. Built by typing make kuipc.
For further information, see chapter .

Initial setup and configuration for VMS systems when asis01 is accessible

For systems at CERN, it may be more appropriate to access the source files over NFS from asis01. In this case, we procede as above except that we do not need to copy the .cra and .car files from VXCERN or asis01. Instead, we modify our LOGIN.COM as shown below to NFS mount the appropriate asis file system.

CERNLIB LOGIN.COM to access sources over NFS from asis01

$!
$! Command file to define environment for CERNLIB installation
$! on AXCLIB (Alpha system)
$!
$! N.B. before running this command file, the following must have
$! been performed:
$!
$! 1) The root for the CERNLIB installation must be setup.
$!
$!    On the CNLAVC, the CERNLIB tree is installed on
$!    VSCLIB$USER1.
$!
$!    e.g. CREATE/DIRECTORY VSCLIB$USER1:[CERNLIB]
$!
$!         CREATE/DIRECTORY VSCLIB$USER1:[CERNLIB.CERNAXP]
$!
$!    These directory names are arbitrary. One could equally
$!    well use 
$!
$!         CREATE/DIRECTORY VSCLIB$USER1:[FRODO]
$!
$!         CREATE/DIRECTORY VSCLIB$USER1:[FRODO.BAGGINS]
$!
$! 2) The subdirectory for the appropriate version must be created.
$!
$!    e.g. CREATE/DIRECTORY VSCLIB$USER1:[CERNLIB.CERNAXP.94A]
$!
$!    Again, this directory name is arbitrary. One could have used
$!    NEW, 93D, GLONK etc.
$!
$! 3) The subdirectories [.MGR] and [.EXE] must be created.
$!
$!    e.g. CREATE/DIRECTORY VSCLIB$USER1:[CERNLIB.CERNAXP.94A.MGR]
$!
$!    e.g. CREATE/DIRECTORY VSCLIB$USER1:[CERNLIB.CERNAXP.94A.EXE]
$!
$! 4) The command files in VXCERN::CERN_ROOT:[EXE] and
$!                         VXCERN::CERN_ROOT:[MGR] must be copied
$!    to the appropriate subdirectory.
$!
$! 5) Finally, the files VXCERN::CERN_ROOt:[MGR]*.FOR should 
$!    be retrieved and compiled. MAIN_CERNLOGIN.FOR includes
$!    CERN_ROOT:[MGR]CERNLOGIN.FOR. As CERN_ROOT is not defined
$!    at this stage, simply edit the file and include CERNLOGIN.FOR
$!    directly.
$!
$!  If you cannot access the CERN sources via NFS, the following 
$!  steps are also required.
$!
$!  a) Create the subdirectories [.SRC] and [.SRC.CAR]
$!
$!  b) Copy the .CAR and .CRA files from asis01 or VXCERN
$!     to the [.SRC.CAR] directory.
$!
$!  c) Remove all references to NFS below.
$!
$! ===============================================================
$!    
$! Mount /asis/share tree using NFS. This avoids us having to copy
$! the .CAR and .CRA files locally
$!
$ if f$trnlnm("asis_share") .eqs. "" then nfsmount/soft asis01:"/asis/share" -
     asis_share
$ nfsdev     = f$getdvi("ASIS_SHARE","FULLDEVNAM")
$ define/sys/exec nfscern 'nfsdev'[cern.] /trans=(conc,term)
$!
$! Set the CERNLIB level
$!
$ cern_level :== 94a
$!
$! Define the CERN and CERN_ROOT logical names
$!
$ define/SYS/EXEC/TRANS=(CONCEALED,TERMINAL) -
     cern _$177$dka300:[cernlib.cernaxp.],'nfsdev'[cern.]
$!
$ define/SYS/EXEC/TRANS=(CONCEALED,TERMINAL) -
     cern_root _$177$dka300:[cernlib.cernaxp.'cern_level'.],-
     'nfsdev'[cern.'cern_level'.]
$!
$! For Alpha, need also CERNAXP
$!
$ define/SYS/EXEC/TRANS=(CONCEALED,TERMINAL) -
     cernaxp _$177$dka300:[cernlib.cernaxp.]
$!
$! Define various symbols required by the CERNLIB installation
$! (and CERNLIB users)
$!
$ run main_cernlogin
$!
$! Reassert the CERNLIB level (MAIN_CERNLOGIN sets it to PRO)
$!
$ cern_level :== 94a
$!
$! Set the Program Library Installation Environment
$!
$ @cern:['cern_level'.mgr]plienv
$!
$! Override the settings of the following symbols made
$! by MAIN_CERNLOGIN.EXE
$! 
$! We must also install these files...
$!
$ ycompare   :== $cern:['cern_level'.exe]ycompare
$ yedit      :== $cern:['cern_level'.exe]yedit
$ yfrceta    :== $cern:['cern_level'.exe]yfrceta
$ yindex     :== $cern:['cern_level'.exe]yindex
$ ylist      :== $cern:['cern_level'.exe]ylist
$ ypatchy    :== $cern:['cern_level'.exe]ypatchy
$ ysearch    :== $cern:['cern_level'.exe]ysearch
$ yshift     :== $cern:['cern_level'.exe]yshift
$ ytobcd     :== $cern:['cern_level'.exe]ytobcd
$ ytobin     :== $cern:['cern_level'.exe]ytobin
$ ytoceta    :== $cern:['cern_level'.exe]ytoceta
$!
$ yexp*and   :== @cern:['cern_level'.exe]yexpand
$!
$ fcasplit   :== $cern:['cern_level'.exe]fcasplit
$!
$! Private symbols
$!
$ ed*it      :== edit/tpu/section=sys$login:eve
$ t*ype      :== type/page

Initial setup and configuration for VM/CMS systems



Next: CERNLIB - Software Up: CERNLIB Previous: CERNLIB - Overview


goossens@cern.ch