Open MPI logo

Open MPI User's Mailing List Archives

  |   Home   |   Support   |   FAQ   |   all Open MPI User's mailing list

Subject: [OMPI users] --enable-static --enable-shared using intel compilers
From: Rene Salmon (salmr0_at_[hidden])
Date: 2008-10-09 19:56:03


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