Dear OpenMPI experts
Against all odds and the OpenMPI developer's and FAQ recommendation,
I've been building hybrid OpenMPI libraries using Gnu
gcc/g++ and Fortran compilers from PGI and from Intel.
One reason for this is that some climate/oceans/atmosphere
code we use compiles and runs with less hassle this way.
(I also build "thoroughbred" Gnu/gfortran, PGI, and
Intel libraries.)
Anyway, all was fine up to OpenMPI 1.2.8, of which I have functional
Gnu(C/C++)+PGI(F77/F90) and Gnu(C/C++)+Intel(F77/F90) libraries.
However, when I tried to compile the Gnu(C/C++)+PGI(F77/F90).
version of OpenMPI 1.3 (I haven't got to 1.3.1 yet),
I've got an error during the make phase (see snippet below).
The error seems to be caused by the insertion of the "-pthread"
compiler flag on the build of libmpi_f90.so.0.0.0.
Some change in the configure script may perhaps
have allowed this extra flag to sneak in?
The flag was not present on the same spot in the OpenMPI 1.2.8 build,
as I checked in the make log of 1.2.8.
It is a Gnu/gcc flag, not recognized by PGI/pgf90.
For now I can live with 1.2.8, but I wonder if this problem can
be fixed somehow, so that I can stay up to date with the
OpenMPI releases.
More info:
(The same configuration was used for both OpenMPI 1.3 and 1.2.8.)
1. AMD Opteron Shanghai (dual socket, quad core)
2. Linux kernel 2.6.18-92.1.22.el5 #1 SMP (CentOS 5.2)
3. PGI 8.0.4
4. Gnu/GCC 4.1.2
Error message from "make":
libtool: link: pgf90 -shared -fpic -Mnomain .libs/mpi.o
.libs/mpi_sizeof.o .libs/mpi_comm_spawn_multiple_f90.o
.libs/mpi_testall_f90.o .libs/mpi_testsome_f90.o .libs/mpi_waitall_f90.o
.libs/mpi_waitsome_f90.o .libs/mpi_wtick_f90.o .libs/mpi_wtime_f90.o
-Wl,-rpath
-Wl,/home/swinst/openmpi/1.3/openmpi-1.3/build_gnu-4.1.2_pgi-8.0-4/ompi/.libs
-Wl,-rpath
-Wl,/home/swinst/openmpi/1.3/openmpi-1.3/build_gnu-4.1.2_pgi-8.0-4/orte/.libs
-Wl,-rpath -Wl,/usr/lib64 -Wl,-rpath
-Wl,/home/swinst/openmpi/1.3/openmpi-1.3/build_gnu-4.1.2_pgi-8.0-4/opal/.libs
-Wl,-rpath -Wl,/home/sw/openmpi/openmpi-1.3-gnu-4.1.2-pgi-8.0-4/lib
-Wl,-rpath -Wl,/usr/lib64
-L/home/swinst/openmpi/1.3/openmpi-1.3/build_gnu-4.1.2_pgi-8.0-4/orte/.libs
-L/home/swinst/openmpi/1.3/openmpi-1.3/build_gnu-4.1.2_pgi-8.0-4/opal/.libs
../../../ompi/.libs/libmpi.so -L/usr/lib64/lib -L/usr/lib64 -lrdmacm
-libverbs
/home/swinst/openmpi/1.3/openmpi-1.3/build_gnu-4.1.2_pgi-8.0-4/orte/.libs/libopen-rte.so
/usr/lib64/libtorque.so
/home/swinst/openmpi/1.3/openmpi-1.3/build_gnu-4.1.2_pgi-8.0-4/opal/.libs/libopen-pal.so
-lnuma -ldl -lnsl -lutil -lm -pthread -Wl,-soname -Wl,libmpi_f90.so.0
-o .libs/libmpi_f90.so.0.0.0
pgf90-Error-Unknown switch: -pthread
make[4]: *** [libmpi_f90.la] Error 1
Thank you,
Gus Correa
---------------------------------------------------------------------
Gustavo Correa
Lamont-Doherty Earth Observatory - Columbia University
Palisades, NY, 10964-8000 - USA
---------------------------------------------------------------------