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

Reply via email to