OFF781 on CD-ROM

Official location of this help file is here

For the Brave and Impatient
How it is supposed to work
Things to check on your Linux box
Products that come with this CD
Software conflicts
FAQs and Troubleshooting

For the Brave and Impatient

# mount /dev/cdrom /fnal            - the only root operation
$ . /fnal/ups/etc/ 
$ setup -d off781
$ cp $OFF781_BIN/GNUmakefile .
$ gmake
$ ./soap.exe                        - don't forget the dot

How it is supposed to work

Installation procedure

Files that come on CD-ROM should end up in the directory /fnal You can reach it either by mounting CD-ROM:
 # mount /dev/cdrom /fnal 
Or ( recommended ) create directory /fnal that is a symbolic link to /cdrom, then anyone on your computer can try OFF781. Or by copying files from CD-ROM on hard drive in directory /fnal . There are about 600Mb of stuff. At the end you have to have directory structure like:

Warning: Unfortunately directory /fnal is hardcoded in many (most?) of UPS scripts. So if you decide to put products in different directory you have to modified quite a few scripts. I do not think it's worth it.
Word of wisdom: Mounting CD or copying files to /fnal is the only operations for which you might need root access. Do all other operation under some user account.

Initialisation of UPS

This is very much like it's done on any FNAL computer.
 $ . /fnal/ups/etc/ 
You may want to add this line in your .bash_profile

Compiling and running SOAP

Again very similar to FNAL installations.
 $ setup -d off781 
Now create directory and copy GNUmakefile from $OFF781_BIN to it. Compile and run the code:
 $ gmake 
 $ ./soap.exe 
Distribution comes with compiled soap.exe, but it's compiled against some odd libraries, which are likely not to be installed on your computer. So recompile it. Warning: messing with dynamic libraries (like to make CD-ROM version of soap.exe work can seriously screw up your system, up to the point that you will not be able to login into it. (The fact that bash is also using can give you an insight how big a trouble you can face).

Things to check on your Linux box

Well, as you know each UNIX has it's own opinion where files like bash and so on should be located. Here are programs you may want to check and fix if necessary. Those operations should be done only once by root.

Products that come with this CD

Package Version Content
cern v97a v99 CERN libraries and executables.
con781 v2_3 E781 constants
daft v2_9_1 Daft libraries
dat781   Small filtered file of 10000 events for you to play.
db   UPS database
egcs v1_1b G77 compiler, GCC linker and libraries.
You may want to switch to your linux box g77 package.
etc   UPS setup scripts
ftt v2_3 v2_6 FTT libraries
gtools v2_2 GNU tools. You don't need those, they are usually installed on every Linux box.
lib   Some libraries you may need (libreadline3.a ...) Avoid them, use ones which are on your system.
ocs781 devel OCS database libraries and scripts
off781 devel_050800 Selex Offline code
perl v5_005 Has some FNAL networking scripts. Used only in UPD. Avoid it.
upd v4_2_2 Package manager developed at FNAL. Stay out of it. I always find FTP and editing of couples of files much easier then studying 200 page UPS/UPD manual
ups v4_3 UPS scripts.

Software conflicts

Conflicts usually take place if your computer software is compiled against one library, and OFF781 software is compiled against another. Keeping it's straight is very important. There are also different versions of compiler/cpp/linker which can conflict with those that you have on your system.

FAQs and Troubleshooting

  1. Do you have to have FNAL Linux installed on your PC to use this CD-ROM? No. Any distribution will do. Actually I personally do not like FNAL Linux distribution. It is designed to solve very specific Fermilab Run II problems, which are usually not an issue for most of the users.
  2. What if I already have similar software on my PC Generally I would recommend to use whatever software is on your computer. It's usually coherent and well maintained. FNAL certainly can not compete in this matter with leading Linux distributions.
  3. UPS Setup does not work on CD-ROM... When you try to execute setups script you may have the following error:
    $ mount /cdrom
    $ . /fnal/ups/etc/
    bash: /fnal/ups/etc/ Permission denied
    bash: /fnal/ups/etc/setups.common: Permission denied
    **** Unable to initialize UPSII environment
    Then talk to your system manager so that he allowed files on CD-ROM to be executed, basically mounting options in /etc/fstab should look like:
    /dev/cdrom      /cdrom          iso9660 ro,user,exec,noauto,unhide   0      0

  4. Setup complaints about gawk If you get an error like:
    $ setup -d off781
    bash: gawk: command not found 
    That means that there is no gawk on your system. On Linux system gawk is called awk which definitely is on your system. So make a symbolic link.
  5. Gmake complaints about ocs_fill_maker If you get an error like:
    $ gmake
    gmake: /fnal/ups/ocs781/devel/bin/ocs_fill_maker: Command not found
    gmake: *** [ocs_fill.o] Error 127 
    That means that perl is not located where FNAL distributions like it to be ( /usr/local/bin/perl ), so make a symbolic link.
  6. Gmake complaints about readline library . If you get an error like:
    /usr/bin/ld: cannot find -lreadline
    collect2: ld returned 1 exit status
    gmake: *** [soap.exe] Error 1
    That means that your system do not have a library libreadline.a All Linux systems have run-time dynamic libraries ( but you can not use those to link SOAP. So ask system administrator to install those libraries. For Debian distribution package is called libreadline4-dev

Alexander Kushnirenko
Last modified: Wed May 31 13:51:56 CDT 2000