[torquedev] [torqueusers] Fwd: [O-MPI users] OpenMPI 1.0.1 with Torque 2.0

Jeff Squyres jsquyres at open-mpi.org
Tue Jan 3 13:36:17 MST 2006

(it was pointed out to me after I sent this to torqueusers that I  
probably should have sent this to torquedev -- sorry for the repost,  
but it's probably better to have this thread over here than on the  
user's list)


A user recently mailed us about a problem compiling Open MPI with  
Torque support (see http://www.open-mpi.org/community/lists/users/ 
2006/01/0456.php for details).

The problem is actually a build system issue.  Open MPI defaults to  
building all of its plugins (including the TM plugins) as dynamic  
shared objects (DSOs).  Some of these DSOs need to link against other  
libraries -- e.g., the TM plugin needs to -lpbs.

The problem is that libpbs is a static library.  Compiling a DSO  
against a .a file is non-portable at best.  However, in Linux/32 bit  
environments, this seems to generally work (GNU Libtool does the  
Right magic, but it warns against the portability issues).  In an  
AMD64 bit environment, however, building in 64 bit mode, this doesn't  
work, and the result is the error message shown below.

We would recompile everything with -fPIC, but don't really want to 1)  
for the special exceptions that this would introduce into our build  
system, and 2) for the performance penalty of compiling everything  
with -fPIC.

Is there any way that Torque can produce shared libraries?  This  
would solve our problem nicely.  :-)

Begin forwarded message:

> From: Jyh-Shyong Ho <c00jsh00 at nchc.org.tw>
> Date: January 2, 2006 3:52:20 AM EST
> To: users at open-mpi.org
> Subject: [O-MPI users] OpenMPI 1.0.1 with Torque 2.0
> Reply-To: Open MPI Users <users at open-mpi.org>
> Hi,
> 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
> collect2: ld returned 1 exit status
> make[4]: *** [mca_pls_tm.la] Error 1
> make[4]: Leaving directory `/home/c00jsh00/openmpi-1.0.1/orte/mca/ 
> pls/tm'
> make[3]: *** [all-recursive] Error 1
> make[3]: Leaving directory `/home/c00jsh00/openmpi-1.0.1/orte/ 
> dynamic-mca/pls'
> make[2]: *** [all-recursive] Error 1
> make[2]: Leaving directory `/home/c00jsh00/openmpi-1.0.1/orte/ 
> dynamic-mca'
> make[1]: *** [all-recursive] Error 1
> make[1]: Leaving directory `/home/c00jsh00/openmpi-1.0.1/orte'
> make: *** [all-recursive] Error 1
> My TORQUE is 2.0.0p4, the latest version. Any hint?
> Jyh-Shyong Ho, Ph.D.
> Research Scientist
> National Center for High Performance Computing
> Hsinchu, Taiwan, ROC
> _______________________________________________
> users mailing list
> users at open-mpi.org
> http://www.open-mpi.org/mailman/listinfo.cgi/users

{+} Jeff Squyres
{+} The Open MPI Project
{+} http://www.open-mpi.org/

torqueusers mailing list
torqueusers at supercluster.org

More information about the torquedev mailing list