next up previous
Next: About this document ... Up: Mofia 2.0 Implementation Notes Previous: Module dependencies

GNU/Linux Installation Notes

Installation of Mofia on a GNU/Linux system using the Absoft compiler was considerably more involved than the installation on the alpha platform. This is not so much a reflection on the Absoft compiler as a reflection of our starting point. With the alpha we started with a version working with DEC f77, while the Linux version had been compiled with g77. Absoft and g77 appeared to be incompatible because of conflicts with the f2c library required by g77. Therefore it was required that all the relevant packages - YBOS, BRU, CFM, GPLOT and CERNLIB all be compiled with Absoft f90. Subsequent to this, it was discovered that Absoft f90 code could be successfully linked using libg2c.

Here are some of the required mods to make CERNLIB compile with Absoft:

The required libraries (tarred and gziped) for cernlib can be obtained by ftp from the e614 account on lin01.triumf.ca (usual password construction) in the directory e614soft_f90/triumf. The cernlib sources are in a separate file and should not be required. The other libraries will be available from CVS.

The Absoft code has been compiled using some DEC conventions rather than default Absoft ones. This is not necessary and perhaps not desireable but it works. It does require more elaborate Makefiles on GNU/Linux. These conventions are using the .f90 extension for source files with preprocessor directives (Absoft standard is .F90) and object files produced with lower case with underscore for entry names. With these conventions the source files have the same names on both platforms, and source files needed by the Absoft xfx debugger are produced.

I have found problems (segmentation errors) with zebra routines and therefore with geant when compiled with f90 or even Absoft f77 or f2c. The g77 version seems to work reliably. The problems exist whether geant is linked with the Absoft-compiled cernlib or the g77-compiled one and libg2c. However, if the Zebra code is compiled with f90 but without optimization (omitting the -B100 -O switches) it works fine. The cern/2000a/libpacklib.a has had its zebra routines compiled in this way and works with GEANT.


next up previous
Next: About this document ... Up: Mofia 2.0 Implementation Notes Previous: Module dependencies
Art Olin 2001-04-20