On Thursday, 20 February 2014, at 12:42:43 (-0800),
David Race wrote:

> I have been working with mvapich2 and openmpi for installing
> slurm-native builds.  Occasionally these appear to look in
> {exec_prefix}/lib64 rather than {exec_prefix}/lib.  Is at the
> following logic consistent with SLURM installation assumption?
> 
> Since slurm is building native applications rather than cross
> compiling, the default locations for the libraries will be
> {exec_prefix}/lib.  In the case of the contrib code for perl5, since
> perl5 is compiled by default as 32 bit then the code for the 64 bit
> contrib code is specifically put into lib64.

lib64 is for multilib, not cross-compiling.  Modern RPM-based
distributions use /usr/lib64 for *all* 64-bit libraries to facilitate
the installation of both 32- and 64-bit builds of the same libraries
on the same system.  If you check /usr/lib64 on a RHEL6 system, for
example, you'll see all sorts of libraries.

SLURM installs its libs to /usr/lib64 by default when you build RHEL
RPMs.  I suspect the same is true for SLES.  And as I recall, the
OpenMPI RPMs likewise install into /usr/lib64 on 64-bit hosts.

Perl5 is not 32-bit by default; I'm not sure where that came from....

If you put 64-bit libraries into /usr/lib on a multilib-capable system
(which RHEL has been for ages), you can cause all sorts of error
messages to start happening (because 32-bit binaries will start trying
to load 64-bit libraries, potentially).

Michael

-- 
Michael Jennings <[email protected]>
Senior HPC Systems Engineer
High-Performance Computing Services
Lawrence Berkeley National Laboratory
Bldg 50B-3209E        W: 510-495-2687
MS 050B-3209          F: 510-486-8615

Reply via email to