On Apr 6, 2007, at 7:22 AM, Werner Van Geit wrote:
In our lab we are installing OpenMPI onto our Apple cluster
computer. The
cluster contains a couple of PowerPC G5 nodes and the new Intel Xeon
Xserves, all with a clean install of Mac OS X Server 10.4.8 , Xcode
2.4.1
and Sun Grid Engine 6 (so we're not using XGrid). Since we want to
make it 1
big cluster, we need Universal Binaries of OpenMPI.
We have been using the script buildpackage.sh available from the
contrib/dist/macosx-pkg from the openmpi-1.2.tar.gz file. If we run
this
script on an Intel machine, we get fat binaries (checked this with the
command line "file" command) that run on the Intel machine (we used
"ompi_info" as the test), but not on the G5 machines. While running
ompi_info) we get an error:
dyld: Symbol not found: _lt_libltdlc_LTX_preloaded_symbols
Referenced from: /tmp/werner/mpi/lib/libopen-pal.0.dylib
Expected in: flat namespace
Trace/BPT trap
I've managed to track this down a little, and there is definitely
something wrong with the build of libltdl when we cross-compile on
Darwin. I've looked a little bit, but haven't had any great success
in determining what is going on. I'm going to start working with the
Libtool developers to try to sort this one out, but it might take
some time. In the mean time, you can build with either static or
shared libraries, but disabling the dlopen() code with the argument --
disable-dlopen (which you already discovered). Using shared
libraries instead of static should still work for you, but make
adding interconnects or rebuilding Open MPI a bit easier on your users.
I've filed a bug in Trac for the problem. You should get updates on
the bug via e-mail and anyone else can follow along at:
https://svn.open-mpi.org/trac/ompi/ticket/980
Hope this helps,
Brian