Official location of this help file is here
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.
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/setups.sh
$ 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:
/fnal
/ups
/cern
/con781
/daft
/db
/...
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/setups.sh
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 libreadline.so) 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 libreadline.so can
give you an insight how big a trouble you can face).
Things to check on your Linux box
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. |
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.
$ mount /cdrom $ . /fnal/ups/etc/setups.sh bash: /fnal/ups/etc/setups_products_init.sh: 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
$ setup -d off781 bash: gawk: command not foundThat 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.
$ gmake /fnal/ups/ocs781/devel/bin/ocs_fill_maker gmake: /fnal/ups/ocs781/devel/bin/ocs_fill_maker: Command not found gmake: *** [ocs_fill.o] Error 127That means that perl is not located where FNAL distributions like it to be ( /usr/local/bin/perl ), so make a symbolic link.
$gmake .......... /usr/bin/ld: cannot find -lreadline collect2: ld returned 1 exit status gmake: *** [soap.exe] Error 1That means that your system do not have a library libreadline.a All Linux systems have run-time dynamic libraries (libreadline.so) 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