Not knowing the openmpi build system, I am a little reluctant to say. But in most projects there is usually multiple paths that can be set at configure time. In most autoconfed projects it is called prefix. There are other ones that can be set for headers, etc.
-----Original Message----- From: Patrick Jessee [mailto:p...@fluent.com] Sent: Mon Nov 20 11:56:48 2006 To: us...@open-mpi.org Subject: [OMPI users] removing hard-coded paths from OpenMPI shared libraries 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 libmpi.so liborte.so.0 => /usr/local/fluent/develop/multiport4.4/packages/lnamd64/openmpi/openmpi-1.1.2/lib/liborte.so.0 (0x0000002a956ea000) libnsl.so.1 => /lib64/libnsl.so.1 (0x0000002a95852000) libutil.so.1 => /lib64/libutil.so.1 (0x0000002a95968000) libm.so.6 => /lib64/tls/libm.so.6 (0x0000002a95a6c000) libpthread.so.0 => /lib64/tls/libpthread.so.0 (0x0000002a95bc4000) libc.so.6 => /lib64/tls/libc.so.6 (0x0000002a95cd8000) libopal.so.0 => /usr/local/fluent/develop/multiport4.4/packages/lnamd64/openmpi/openmpi-1.1.2/lib/libopal.so.0 (0x0000002a95f00000) /lib64/ld-linux-x86-64.so.2 (0x000000552aaaa000) libdl.so.2 => /lib64/libdl.so.2 (0x0000002a9605a000) In the above, "/usr/local/fluent/develop/multiport4.4/packages/lnamd64/openmpi/openmpi-1.1.2/lib" is hardcoded into libmpi.so using --rpath when libmpi.so 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