Hi,
I am trying to compile openmpi-1.2.7 and get both the static and shared
mpi libs using the intel compilers. Here is my configure line:
./configure CFLAGS="-static-intel" CXXFLAGS="-static-intel"
FFLAGS="-static-intel" FCFLAGS="-static-intel" CC=icc CXX=icpc F77=ifort
FC=ifort --enable-shared --enable-static --with-mx=/usr/local/mx
--with-openib=/usr --with-sge --prefix=/hpc/soft/openmpi/x86_64/1.2.7
Once things get installed I do have both the static and dynamic openmpi
libs in ompi/lib dir. The problem I am having is with the openmpi
executables in ompi/bin.
For example if I do an ldd on ompi/bin/ompi_info
default/bin> ldd ompi_info
libmpi.so.0 => /hpc/soft/openmpi/x86_64/1.2.7/lib/libmpi.so.0
(0x00002ab
7e90a5000)
libibverbs.so.1 => /usr/lib64/libibverbs.so.1
(0x00002ab7e934f000)
librt.so.1 => /lib64/librt.so.1 (0x00002ab7e945b000)
libmyriexpress.so => /usr/local/mx/lib64/libmyriexpress.so
(0x00002ab7e9
565000)
libopen-rte.so.0
=> /hpc/soft/openmpi/x86_64/1.2.7/lib/libopen-rte.so.0
(0x00002ab7e968c000)
libopen-pal.so.0
=> /hpc/soft/openmpi/x86_64/1.2.7/lib/libopen-pal.so.0
(0x00002ab7e9898000)
libnuma.so.1 => /usr/lib64/libnuma.so.1 (0x00002ab7e9a0e000)
libdl.so.2 => /lib64/libdl.so.2 (0x00002ab7e9b13000)
libnsl.so.1 => /lib64/libnsl.so.1 (0x00002ab7e9c17000)
libutil.so.1 => /lib64/libutil.so.1 (0x00002ab7e9d2e000)
libm.so.6 => /lib64/libm.so.6 (0x00002ab7e9e31000)
libstdc++.so.6 => /usr/lib64/libstdc++.so.6 (0x00002ab7e9f86000)
libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x00002ab7ea185000)
libpthread.so.0 => /lib64/libpthread.so.0 (0x00002ab7ea292000)
libc.so.6 => /lib64/libc.so.6 (0x00002ab7ea3a9000)
libimf.so
=> /hpc/soft/intel/x86_64/ict-3.1.1//fce/10.1.015/lib/libimf.s
o (0x00002ab7ea5db000)
libsvml.so
=> /hpc/soft/intel/x86_64/ict-3.1.1//fce/10.1.015/lib/libsvml
.so (0x00002ab7ea93d000)
libintlc.so.5
=> /hpc/soft/intel/x86_64/ict-3.1.1//fce/10.1.015/lib/libi
ntlc.so.5 (0x00002ab7eaac4000)
/lib64/ld-linux-x86-64.so.2 (0x00002ab7e8f89000)
on my configure line I specified "-static-intel" so why are the openmpi
binaries not linking these in statically?
If I run configure with --disable-static --enabled-shared (the default)
the "-static-intel" flag sees to work and all the intel libs get
statically linked into the openmpi executables.
Also why does ompi_info dynamically link in libibverbs.so.1 and
libmyriexpress.so? On nodes that do not have IB or MX installed
ompi_info exists immediately stating it can't find the IB or MX libs.
Thanks
Rene
|