Open MPI logo

Open MPI User's Mailing List Archives

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

From: Brian Barrett (brbarret_at_[hidden])
Date: 2006-01-03 11:35:57


On Jan 2, 2006, at 3:52 AM, Jyh-Shyong Ho wrote:

> I am trying to install OpenMPI 1.0.1 on my Athlon X2 computer
> running SuSE10.0,
> the installation failed when I included --with-tm=/opt/torque
> option with the
> error message:
> ...
> gcc -shared .libs/pls_tm_component.o .libs/pls_tm_module.o -Wl,--
> rpath -Wl,/home/c00jsh00/openmpi-1.0.1/orte/.libs -Wl,--rpath -Wl,/
> home/c00jsh00/openmpi-1.0.1/opal/.libs -Wl,--rpath -Wl,/opt/openmpi/
> lib -L/opt/torque/lib -lpbs /home/c00jsh00/openmpi-1.0.1/orte/.libs/
> liborte.so -L/home/c00jsh00/openmpi-1.0.1/opal/.libs /home/c00jsh00/
> openmpi-1.0.1/opal/.libs/libopal.so -lm -lutil -lnsl -pthread -Wl,-
> soname -Wl,mca_pls_tm.so -o .libs/mca_pls_tm.so
> /usr/lib64/gcc/x86_64-suse-linux/4.0.2/../../../../x86_64-suse-
> linux/bin/ld: /opt/torque/lib/libpbs.a(tm.o): relocation
> R_X86_64_32S against `a local symbol' can not be used when making a
> shared object; recompile with -fPIC
> /opt/torque/lib/libpbs.a: could not read symbols: Bad value
>
> My TORQUE is 2.0.0p4, the latest version. Any hint?

The problem is that Torque (and all the PBS derivatives I've seen)
only provide static libraries and we are trying to build a shared
library linked against those static libraries. This happens to work
for x86 code, but not for x86_64 code. Unfortunately, the only
solution at this time is to build Open MPI as static libraries with
the configure options "--enable-static --disable-shared".

With a couple of changes to the build system, we should be able to
allow the TM component to be built as part of libmpi.so (as opposed
to a dynamically opened shared object), but that will not presently
work with Open MPI 1.0.1 (or the upcoming 1.0.2 release). Of course,
the easiest (and most flexible) solution for your problem would be
the Torque team releasing their libraries as both shared and static
libraries. It doesn't appear their build system supports this
presently, which is most unfortunate as it prevents us from building
TM support as a DSO...

Hope this helps,

Brian

-- 
   Brian Barrett
   Open MPI developer
   http://www.open-mpi.org/