Rather than using gcc (i.e gcc-4.0 on Tiger) or xlc 6.0 if one uses
gcc-3.3, this time lam-mpi compiles (same for mpich). If you make a
search on google for this string: _printf$LDBLStub again you will
find a similar problem to compile a code with gcc-4.0. So here are
the command I use for lam-mpi:
export CC=/usr/bin/gcc-3.3
export CFLAGS="-O3 -mpowerpc-gpopt -mpowerpc64"
export CPP=/usr/bin/cpp
export CPPFLAGS=""
export CXX=/usr/bin/g++
export FC=/opt/ibmcmp/xlf/8.1/bin/xlf
export FFLAGS="-O3"
./configure --without-dash-pthread --with-purify --with-rpi=usysv --
prefix=/usr/local/lam-7.1.1
make
sudo make install
when I try to compile my program, I faced a problem with mpich and
lam-mpi:
ld: Undefined symbols:
_printf$LDBLStub
_fprintf$LDBLStub
_sprintf$LDBLStub
_vsprintf$LDBLStub
This problem comes from the fact I was including libraries built with
xlc under Panther. Again, one must take care to use gcc-3.3 rather
than gcc-4.0, then rebuild all these libraries. After that job, lam-
mpi and mpich works.
Of course, this solution is not perfect, it just presents the
advantage that one can continue to develop with gcc-3.3, Fortran and
MPI, wait for IBM updates and enjoy Tiger immediatly but without real
advantage compared to Panther for programming !
|