-----

Notes and tips for NA44 software managers

( Last update dec 17 '96 11:55 HvH )

The notes here are supposed to be valid on all machines, unix and vms. I have tested these on the LANL HPs, and Cern HPPLUS, CERNSP, Vax VMS and Alpha VMS services. In addition, I have taken input from Nevis (an SGI, from Jerry and Max), Hiroshima (HP, Alpha/OSF, from Atsushi), NBI (Alpha/OSF, from Ian), and TAMU (Michael). Please let me know if there are any problems, or if I left anything/anybody out..

The NA44 software environment is defined by an internally consistent set of directories, command files and kumacs. They are:

  • The directory tree. It is the same on all unix and VMS systems. The location of the root /na44 of course can be anywhere and is site-dependent, it is defined in the login file (na44.login or flogin.com, see below)
     ----------------------------------+----------+------------------------
            path                       | name     | contents
     ----------------------------------+----------+------------------------
     /na44 /data                       | FDATA    | (links to) dst's etc.
           /demo                       | FDEMO    | executables and examples
           /doc                        | FDOC     | documentation
           /calib                      | FCALIB   | calibration files (ascii)
                     /zebra            | FZEBRA   | calibration files (rz)
                     /odbase           | FODBASE  | online data base files
           /install                    | FINSTALL | macros and command files
           /n011                       | FCMZ     | v11 cmz files, CMZ macros
                     /mach_1           |          |
                             /for      | FFOR     | fortran sources
                             /lib      | FLIB     | individual libs
                             /libd     | FLIBD    | individual libs
                     /mach_2           |          |
                             /for      | FFOR     | (same for second machine
                             /lib      | FLIB     |  flavor - if applicable)
                             /libd     | FLIBD    |  
                     ...               |          |  ...
           /n012                       | FCMZ     | v12 ... same subtrees
     ----------------------------------+----------+------------------------
    
    For simple installations, where there is only one machine type, 'mach_1' is just vax, hp, sgi or so, and the subtree starting with 'mach_2 is absent. Currently I have:
    site mach_1 mach_2
    LANL
    Nevis
    Cern Unix
    Cern vax
    Hiroshima
    Hiroshima
    TAMU
    OSU
    Nantes
    hp
    sgi
    ibm
    vax
    hp
    vax
    vax
    vax
    ?
    -
    -
    hp
    alf
    -
    -
    -
    alf
    -
  • na44.login (for all Unix systems)
  • flogin.com (for all VMS systems)
    this file is located in $FINSTALL, and should be executed upon login by all users (see user's guide). It defines the names of the directories, and aliases for dbtools and flink, and shows the NA44 software news. This file resides in $FINSTALL.

  • na44cmz.kumac.
    This file is executed upon CMZ startup (see user's guide). Since this kumac executes under CMZ, it is valid for all machines. As of version n011, it is placed in $FCMZ, since in general, it may be version-dependent. this file is executed upon startup of CMZ. This is usually done by having a cmzlogon.kumac, which executes this file. Typically, this file is version-dependent, so it resides in $FCMZ. Note that in the past, it used to reside in $FINSTALL.

  • libmacs.kumac.
    This file is used to create and update the libraries. For an istallation or update, you now have to run command newlib twice, once for nodebug, and once for the debug library versions (command debug).
    In addition, on mixed-machine clusters (such as the cern HP/IBM cluster), you have to do this once on each machine type. Subdirectory switching is automatic depending on machine type and debug switch setting. Libmacs.kumac resides in $FCMZ.

  • libjoin.
    In $FCMZ is a copy of libjoin that gathers all routines from the individual *.a files in $FLIB, and makes a master library which also goes in $FLIB. This is the nodebug version. Script libjoind, also in $FCMZ, does the same for libraries in $FLIBD.

  • flink.
    This is the universal NA44 linker. It has switches for debug, cleanup, private lib, and private main. (If you type 'flink help', you get some examples). Flink knows about machine types, debug/nodebug switches and the rest. It knows about HP, IBM, OSF, SGI. Flink resides in $FINSTALL

  • na44.template.
    This is a fortran subroutine template which is called up when you create a new routine in CMZ. Na44.template resides in $FINSTALL.

    -----

  • install.
    This is a reference to a step-by-step installation guide, using the above files.

    -----