Sorry I haven't jumped in this thread earlier -- I've been a bit behind.
The multi-lib support worked at one time, and I can't think of why it
would have changed. The one condition is that libdir, includedir,
etc. *MUST* be specified relative to $prefix for it to work. It looks
like you were defining them as absolute paths, so you'd have to set
libdir directly, which will never work in multi-lib because mpirun and
the app likely have different word sizes and therefore different
libdirs. More information is on the multilib page in the wiki:
https://svn.open-mpi.org/trac/ompi/wiki/MultiLib
There is actually one condition we do not handle properly, the prefix
flag to mpirun. The LD_LIBRARY_PATH will only be set for the word
size of mpirun, and not the executable. Really, both would have to be
added (so that both orted, which is likely always 32 bit in a multilib
situation and the app both find their libraries).
Brian
On Jan 5, 2009, at 6:02 PM, Jeff Squyres wrote:
I honestly haven't thought through the ramifications of doing a
multi-lib build with OPAL_PREFIX et al. :-\
If you setenv OPAL_LIBDIR, it'll use whatever you set it to, so it
doesn't matter what you configured --libdir with. Additionally mca/
installdirs/config/install_dirs.h has this by default:
#define OPAL_LIBDIR "${exec_prefix}/lib"
Hence, if you use a default --libdir and setenv OPAL_PREFIX, then
the libdir should pick up the right thing (because it's based on the
prefix). But if you use --libdir that is *not* based on $
{exec_prefix}, then you might run into problems.
Perhaps you can '--libdir="${exec_prefix}/lib64"' so that you can
have your custom libdir, but still have it dependent upon the prefix
that gets expanded at run time...?
(again, I'm not thinking all of this through -- just offering a few
suggestions off the top of my head that you'll need to test / trace
the code to be sure...)
On Jan 5, 2009, at 1:35 PM, Ethan Mallove wrote:
On Thu, Dec/25/2008 08:12:49AM, Jeff Squyres wrote:
It's quite possible that we don't handle this situation properly.
Won't
you need to libdir's (one for the 32 bit OMPI executables, and one
for the
64 bit MPI apps)?
I don't need an OPAL environment variable for the executables, just a
single OPAL_LIBDIR var for the libraries. (One set of 32-bit
executables runs with both 32-bit and 64-bit libraries.) I'm guessing
OPAL_LIBDIR will not work for you if you configure with a non-
standard
--libdir option.
-Ethan
On Dec 23, 2008, at 3:58 PM, Ethan Mallove wrote:
I think the problem is that I am doing a multi-lib build. I have
32-bit libraries in lib/, and 64-bit libraries in lib/64. I
assume I
do not see the issue for 32-bit tests, because all the dependencies
are where Open MPI expects them to be. For the 64-bit case, I tried
setting OPAL_LIBDIR to /opt/openmpi-relocated/lib/lib64, but no
luck.
Given the below configure arguments, what do my OPAL_* env vars
need
to be? (Also, could using --enable-orterun-prefix-by-default
interfere
with OPAL_PREFIX?)
$ ./configure CC=cc CXX=CC F77=f77 FC=f90 --with-openib
--without-udapl --disable-openib-ibcm --enable-heterogeneous
--enable-cxx-exceptions --enable-shared --enable-orterun-prefix-
by-default
--with-sge --enable-mpi-f90 --with-mpi-f90-size=small
--disable-mpi-threads --disable-progress-threads --disable-debug
CFLAGS="-m32 -xO5" CXXFLAGS="-m32 -xO5" FFLAGS="-m32 -xO5"
FCFLAGS="-m32
-xO5"
--prefix=/workspace/em162155/hpc/mtt-scratch/burl-ct-v20z-12/ompi-
tarball-testing/installs/DGQx/install
--mandir=/workspace/em162155/hpc/mtt-scratch/burl-ct-v20z-12/ompi-
tarball-testing/installs/DGQx/install/man
--libdir=/workspace/em162155/hpc/mtt-scratch/burl-ct-v20z-12/ompi-
tarball-testing/installs/DGQx/install/lib
--includedir=/workspace/em162155/hpc/mtt-scratch/burl-ct-v20z-12/
ompi-tarball-testing/installs/DGQx/install/include
--without-mx --with-tm=/ws/ompi-tools/orte/torque/current/shared-
install32
--with-contrib-vt-flags="--prefix=/workspace/em162155/hpc/mtt-
scratch/burl-ct-v!
20z-12/ompi-tarball-testing/installs/DGQx/install
--mandir=/workspace/em162155/hpc/mtt-scratch/burl-ct-v20z-12/ompi-
tarball-testing/installs/DGQx/install/man
--libdir=/workspace/em162155/hpc/mtt-scratch/burl-ct-v20z-12/ompi-
tarball-testing/installs/DGQx/install/lib
--includedir=/workspace/em162155/hpc/mtt-scratch/burl-ct-v20z-12/
ompi-tarball-testing/installs/DGQx/install/include
LDFLAGS=-R/workspace/em162155/hpc/mtt-scratch/burl-ct-v20z-12/
ompi-tarball-testing/installs/DGQx/install/lib"
$ ./confgiure CC=cc CXX=CC F77=f77 FC=f90 --with-openib
--without-udapl --disable-openib-ibcm --enable-heterogeneous
--enable-cxx-exceptions --enable-shared --enable-orterun-prefix-
by-default
--with-sge --enable-mpi-f90 --with-mpi-f90-size=small
--disable-mpi-threads --disable-progress-threads --disable-debug
CFLAGS="-m64 -xO5" CXXFLAGS="-m64 -xO5" FFLAGS="-m64 -xO5"
FCFLAGS="-m64
-xO5"
--prefix=/workspace/em162155/hpc/mtt-scratch/burl-ct-v20z-12/ompi-
tarball-testing/installs/DGQx/install
--mandir=/workspace/em162155/hpc/mtt-scratch/burl-ct-v20z-12/ompi-
tarball-testing/installs/DGQx/install/man
--libdir=/workspace/em162155/hpc/mtt-scratch/burl-ct-v20z-12/ompi-
tarball-testing/installs/DGQx/install/lib/lib64
--includedir=/workspace/em162155/hpc/mtt-scratch/burl-ct-v20z-12/
ompi-tarball-testing/installs/DGQx/install/include/64
--without-mx --with-tm=/ws/ompi-tools/orte/torque/current/shared-
install64
--with-contrib-vt-flags="--prefix=/workspace/em162155/hpc/mtt-
scratch/!
burl-ct-v20z-12/ompi-tarball-testing/installs/DGQx/install
--mandir=/workspace/em162155/hpc/mtt-scratch/burl-ct-v20z-12/ompi-
tarball-testing/installs/DGQx/install/man
--libdir=/workspace/em162155/hpc/mtt-scratch/burl-ct-v20z-12/ompi-
tarball-testing/installs/DGQx/install/lib/lib64
--includedir=/workspace/em162155/hpc/mtt-scratch/burl-ct-v20z-12/
ompi-tarball-testing/installs/DGQx/install/include/64
LDFLAGS=-R/workspace/em162155/hpc/mtt-scratch/burl-ct-v20z-12/
ompi-tarball-testing/installs/DGQx/install/lib"
--disable-binaries
-Ethan
On Dec 22, 2008, at 12:42 PM, Ethan Mallove wrote:
Can anyone get OPAL_PREFIX to work on Linux? A simple test is
to see
if the following works for any mpicc/mpirun:
$ mv <openmpi-installation> /tmp/foo
$ set OPAL_PREFIX /tmp/foo
$ mpicc ...
$ mpirun ...
If you are able to get the above to run successfully, I'm
interested
in your config.log file.
Thanks,
Ethan
On Thu, Dec/18/2008 11:03:25AM, Ethan Mallove wrote:
Hello,
The below FAQ lists instructions on how to use a relocated
Open MPI
installation:
http://www.open-mpi.org/faq/?category=building#installdirs
On Solaris, OPAL_PREFIX and friends (documented in the FAQ)
work for
me with both MPI (hello_c) and non-MPI (hostname) programs. On
Linux,
I can only get the non-MPI case to work. Here are the
environment
variables I am setting:
$ cat setenv_opal_prefix.csh
set opal_prefix = "/opt/openmpi-relocated"
setenv OPAL_PREFIX $opal_prefix
setenv OPAL_BINDIR $opal_prefix/bin
setenv OPAL_SBINDIR $opal_prefix/sbin
setenv OPAL_DATAROOTDIR $opal_prefix/share
setenv OPAL_SYSCONFDIR $opal_prefix/etc
setenv OPAL_SHAREDSTATEDIR $opal_prefix/com
setenv OPAL_LOCALSTATEDIR $opal_prefix/var
setenv OPAL_LIBDIR $opal_prefix/lib
setenv OPAL_INCLUDEDIR $opal_prefix/include
setenv OPAL_INFODIR $opal_prefix/info
setenv OPAL_MANDIR $opal_prefix/man
setenv PATH $opal_prefix/bin:$PATH
setenv LD_LIBRARY_PATH $opal_prefix/lib:$opal_prefix/lib/64
Here is the error I get:
$ mpirun -np 2 hello_c
--------------------------------------------------------------------------
It looks like opal_init failed for some reason; your parallel
process
is
likely to abort. There are many reasons that a parallel
process can
fail during opal_init; some of which are due to configuration or
environment problems. This failure appears to be an internal
failure;
here's some additional information (which may only be relevant
to an
Open MPI developer):
opal_carto_base_select failed
--> Returned value -13 instead of OPAL_SUCCESS
--------------------------------------------------------------------------
[burl-ct-v20z-0:27737] [[INVALID],INVALID] ORTE_ERROR_LOG: Not
found in
file runtime/orte_init.c at line 77
Any ideas on what's going on?
Thanks,
Ethan
_______________________________________________
users mailing list
us...@open-mpi.org
http://www.open-mpi.org/mailman/listinfo.cgi/users
--
Jeff Squyres
Cisco Systems
_______________________________________________
users mailing list
us...@open-mpi.org
http://www.open-mpi.org/mailman/listinfo.cgi/users
_______________________________________________
users mailing list
us...@open-mpi.org
http://www.open-mpi.org/mailman/listinfo.cgi/users
--
Jeff Squyres
Cisco Systems
_______________________________________________
users mailing list
us...@open-mpi.org
http://www.open-mpi.org/mailman/listinfo.cgi/users
_______________________________________________
users mailing list
us...@open-mpi.org
http://www.open-mpi.org/mailman/listinfo.cgi/users
--
Jeff Squyres
Cisco Systems
_______________________________________________
users mailing list
us...@open-mpi.org
http://www.open-mpi.org/mailman/listinfo.cgi/users