Open MPI logo

Open MPI User's Mailing List Archives

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

From: Jeff Squyres (jsquyres_at_[hidden])
Date: 2006-11-20 20:50:49

This is certainly the default for GNU Libtool-build shared libraries
(such as Open MPI). Ralf W -- is there a way to disable this?

As a sidenote, we added the "--prefix" option to mpirun to be able to
override the LD_LIBRARY_PATH on remote nodes for circumstances like
this. For example, say you build/install to /somedir, but then
distribute Open MPI and the user installs it to /otherdir. I know
almost nothing about Fluent :-(, but do you wrap the call to mpirun
in a script/executable somewhere? Such that you could hide:

        mpirun --prefix /otherdir ...

This might be good enough to do what you need.

Would that work?

On Nov 20, 2006, at 2:54 PM, Patrick Jessee wrote:

> Hello. I'm wondering if anyone knows of a way to get OpenMPI to
> compile shared libraries without hard-coding the installation
> directory in them. After compiling and installing OpenMPI, the
> shared libraries have the installation libraries hard-coded in
> them. For instance:
> $ ldd
> => /usr/local/fluent/develop/multiport4.4/
> packages/lnamd64/openmpi/openmpi-1.1.2/lib/
> (0x0000002a956ea000)
> => /lib64/ (0x0000002a95852000)
> => /lib64/ (0x0000002a95968000)
> => /lib64/tls/ (0x0000002a95a6c000)
> => /lib64/tls/
> (0x0000002a95bc4000)
> => /lib64/tls/ (0x0000002a95cd8000)
> => /usr/local/fluent/develop/multiport4.4/
> packages/lnamd64/openmpi/openmpi-1.1.2/lib/
> (0x0000002a95f00000)
> /lib64/ (0x000000552aaaa000)
> => /lib64/ (0x0000002a9605a000)
> In the above, "/usr/local/fluent/develop/multiport4.4/packages/
> lnamd64/openmpi/openmpi-1.1.2/lib" is hardcoded into
> using --rpath when is compiled.
> This is problematic because the installation cannot be moved after
> it is installed. It is often useful to compile/install libraries
> on one machine and then move the libraries to a different location
> on other machines (of course, LD_LIBRARY_PATH or some means then
> needs to be used to pick up libs are runtime). This relocation is
> also useful when redistributing the MPI installation with an
> application. The hard-coded paths prohibit this.
> I've tried to modify the "--rpath" argument in libtool and opal/
> libltdl/libtool, but have not gotten this to work.
> Has anyone else had experience with this? (I'm building OpenMPI
> 1.1.2 on linux x86_64.) Thanks in advance for any potential help.
> Regards,
> -Patrick
> <pj.vcf>
> _______________________________________________
> users mailing list
> users_at_[hidden]

Jeff Squyres
Server Virtualization Business Unit
Cisco Systems