Boost logo

Boost :

From: Matthias Schabel (boost_at_[hidden])
Date: 2006-12-07 15:03:52


So I've been attempting to get Boost.MPI running on OSX and have run
into a few problems; I'm not sure what the fundamental issue is, but
any input would be welcomed...

1) In order to get LAM-MPI 7.1.2 to compile and run correctly, I need
to configure it with --with-memory-manager=none. With this, the
cxxhello example program compiles properly and runs as expected:

lamboot
mpirun -np 4 cxxhello

gives

Hello World! I am 0 of 4
Hello World! I am 3 of 4
Hello World! I am 1 of 4
Hello World! I am 2 of 4

However, if I then try to compile the Boost.MPI example program

mpic++ hello_world.cpp -I/usr/local/include -L/usr/local/lib -
lboost_mpi-1_35 -lmpi -lboost_serialization-1_35

I get a bunch of linker warnings:

/usr/bin/ld: warning suggest use of -bind_at_load, as lazy binding
may result in errors or different symbols being used
symbol _create_scalable_zone used from dynamic library /usr/lib/gcc/
powerpc-apple-darwin8/4.0.1/../../../libdl.dylib(scalable_malloc.So)
not from earlier dynamic library /usr/local/lib/libmpi.0.dylib
(scalable_malloc.o)
symbol _malloc_freezedry used from dynamic library /usr/lib/gcc/
powerpc-apple-darwin8/4.0.1/../../../libdl.dylib(scalable_malloc.So)
not from earlier dynamic library /usr/local/lib/libmpi.0.dylib
(scalable_malloc.o)
symbol _malloc_jumpstart used from dynamic library /usr/lib/gcc/
powerpc-apple-darwin8/4.0.1/../../../libdl.dylib(scalable_malloc.So)
not from earlier dynamic library /usr/local/lib/libmpi.0.dylib
(scalable_malloc.o)
symbol _scalable_zone_info used from dynamic library /usr/lib/gcc/
powerpc-apple-darwin8/4.0.1/../../../libdl.dylib(scalable_malloc.So)
not from earlier dynamic library /usr/local/lib/libmpi.0.dylib
(scalable_malloc.o)
symbol _scalable_zone_statistics used from dynamic library /usr/lib/
gcc/powerpc-apple-darwin8/4.0.1/../../../libdl.dylib
(scalable_malloc.So) not from earlier dynamic library /usr/local/lib/
libmpi.0.dylib(scalable_malloc.o)
symbol _szone_check_counter used from dynamic library /usr/lib/gcc/
powerpc-apple-darwin8/4.0.1/../../../libdl.dylib(scalable_malloc.So)
not from earlier dynamic library /usr/local/lib/libmpi.0.dylib
(scalable_malloc.o)
symbol _szone_check_modulo used from dynamic library /usr/lib/gcc/
powerpc-apple-darwin8/4.0.1/../../../libdl.dylib(scalable_malloc.So)
not from earlier dynamic library /usr/local/lib/libmpi.0.dylib
(scalable_malloc.o)
symbol _szone_check_start used from dynamic library /usr/lib/gcc/
powerpc-apple-darwin8/4.0.1/../../../libdl.dylib(scalable_malloc.So)
not from earlier dynamic library /usr/local/lib/libmpi.0.dylib
(scalable_malloc.o)

The program still compiles and links, but when I try to run it:

lamboot
mpirun -np 4 hello_world

it prints

Hello, world!

and then hangs...

Any suggestions?

Also, Open-MPI appears to compile without shenanigans on OSX - has
anyone tried to use Boost.MPI with Open-MPI?

Thanks,

Matthias

----------------------------------------------------------------
Matthias Schabel, Ph.D.
Assistant Professor, Department of Radiology
Utah Center for Advanced Imaging Research
729 Arapeen Drive
Salt Lake City, UT 84108
801-587-9413 (work)
801-585-3592 (fax)
801-706-5760 (cell)
801-484-0811 (home)
matthias at stanfordalumni dot org
----------------------------------------------------------------


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk