Hello, 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 (There are no error @ compile time) Also the inverse occurs. If we compile on a G5, again fat binaries of everything are created, but now it doesn't run on the Intel anymore, with exactly the same error. And it also doesn't run on a G5 unless we make a thinner binary (from the fat ones), only containing the ppc and intel code (not the ppc64). First, we thought that the problem could be caused by the processor switching modes from 32 to 64 bit or something, so we compiled everything with a modified buildpackage.sh script adding "-m32" to the CFLAGS, CXXFLAGS and OBJCFLAGS, but this had no effect, still the same errors @ runtime. Then we compiled with "-enable-static" and "-disable-shared" but then the error occurred @ compile time. We got an error like " Symbol not found: _lt_libltdlc_LTX_preloaded_symbols". Since we figured out that this libltdlc is used for the "dlopen", I disabled it by putting "--disable-dlopen" in the buildpackage.sh script. Now everything compiles on both Intel and PPC and also runs on both architectures. But now I can imagine that in the future we might be having problems with installing plugins because we disabled the dlopen. Do you maybe know if there is another way to compile OpenMPI on our configuration, while still enabling dlopen ? (Is the problem maybe caused by the fact that there doesn't seem to exist a 64-bit version of libltdl.3.dylib and libltdl.a on the OS ? The output of the file command is " libltdl.3.dylib: Mach-O fat file with 2 architectures libltdl.3.dylib (for architecture i386): Mach-O dynamically linked shared library i386 libltdl.3.dylib (for architecture ppc): Mach-O dynamically linked shared library ppc " (so no ppc64) Thank you, Werner Van Geit -- ,,, (o o) ====================oOO==(_)==OOo================== PhD Student Laboratory for Theoretical Neurobiology Department of Biomedical Sciences University of Antwerp (Campus Drie Eiken) Universiteitsplein 1 B-2610 Wilrijk (Belgium) Office T5.37 Tel. ++ 32 3 8202610 wer...@ihatespamtnb.ua.ac.be
buildoutput.txt
Description: Binary data