Compiler Tools
A discussion of compiler tools available at Nevis.
Standardized compilers
If you've worked on more than one system on the Nevis Linux cluster,
you may have encountered the following problem: You compile a program
on a system with one version of Scientific Linux, but find that there are
library incompatibilities when you try to execute the program on another
version, or have problems linking with one of the ROOT or
Geant4 libraries.
In general, the problem is with the library libstdc++.so, but there can be other issues as well. This problem can be particularly acute if you're preparing a job to run on our
condor batch system, since there are systems with different OS versions on the farm.
To help deal with this problem,
I
've
prepared self-contained compiler suites (with all the required
libraries) on the applications server. I refer to them as the
"standardized" compilers, since the compilers and the programs they
produce should execute in the same way on all the Nevis systems.
The available versions are accessible via the command:
module avail gcc
This is not a cure-all to the issue of mixed library versions on
different systems. but it should go some way towards developing
programs that will execute properly on all the systems in the batch
farm.
Note that some software development environments, e.g., LArSoft, come with their own standardized compilers. Do
not use the Nevis compilers with those frameworks, unless you know what you're doing.