On Jul 13, 2007, at 1:00 PM, Aaron Thompson wrote:
> Per Brian's advice, I'm trying to compile LAM with XLF as the
> Fortran compiler and GCC 3.3 as the C compiler. I'm getting some
> linker errors when compiling LAM with or without shared libs, this is
> on a Mac G5 with Tiger. Here's the error:
>
> mkdir .libs
> /usr/bin/g++ -O3 -o .libs/laminfo laminfo.o -Wl,-bind_at_load ../../
> share/libmpi/.libs/libmpi.dylib ../../share/liblam/.libs/
> liblam.dylib -ldl
> ld: Undefined symbols:
> __ZNSaIcED4Ev
> __ZNSs20_S_empty_rep_storageE
> __ZNSsD4Ev
> make[2]: *** [laminfo] Error 1
> make[1]: *** [all-recursive] Error 1
> make: *** [all-recursive] Error 1
> XLF is able to compile other, pure Fortran programs without error.
> Has anyone used XLF with GCC? Is there a particular version of GCC
> that does or doesn't work?
Sorry about the slow reply -- this got lost in my inbox somehow.
That's a really odd error from GCC. I seem to recall there being
something funny with G++ when you try to force flat namespaces for
some of the recent versions of the XCode toolchain. If you aren't
already, I'd recommend trying to configure LAM with the --without-
memory-manager option. LAM's memory hacks to deal with networks like
InfiniBand and Myrinet/GM force a flat namespace, so disabling that
might help.
Good luck,
Brian
--
Brian Barrett
LAM/MPI Developer
Make today a LAM/MPI day!
|