Open MPI logo

Open MPI User's Mailing List Archives

  |   Home   |   Support   |   FAQ   |   all Open MPI User's mailing list

Subject: Re: [OMPI users] Cannot build OpenMPI 1.3 with PGI pgf90 and Gnu gcc/g++.
From: Jeff Squyres (jsquyres_at_[hidden])
Date: 2009-03-27 21:35:03


Sorry for the delay in replying.

Can you send your exact configure command line?

Also, do you need the F90 MPI bindings? If not, you can disable them
with the following:

    --disable-mpi-f90

On Mar 27, 2009, at 9:50 AM, Gus Correa wrote:

> Dear OpenMPI pros.
>
> I've got no answer, so let me try again.
>
> I can't build OpenMPI 1.3 with a hybrid pgf90+gcc/g++ compiler set.
> However, OpenMPI 1.2.8 builds correctly with the same compilers,
> on the same computer (Linux x86_64 cluster), and same environment.
> See details in my original message below.
>
> The OpenMPI 1.3 build fails due to the (gcc) "-pthread" flag being
> rejected by pgf90 during the libtool
> link phase of libmpi_f90.so.0.0.0.
> Since this flag was not present on the same spot on OMPI 1.2.8,
> I wonder if the "-pthread" flag is really needed at that point,
> or if inadvertently sneaked in the
> OMPI 1.3 Makefiles and configure script.
>
> These hybrid compiler builds of MPI often mean the difference
> between being able to compile and run the very large
> climate/ocean/atmosphere codes
> which are at the core of our research mission here.
> To my knowledge, this is not a unique situation,
> and other people in our research field also need and use these
> libraries built on "Gnu+commercial Fortran" compilers.
> For this reason I keep a variety of OpenMPI, MPICH2, MVAPICH2
> builds, and I try to stay current with the newest releases.
>
> Any help is much appreciated.
>
> Thank you,
> Gus Correa
> ---------------------------------------------------------------------
> Gustavo Correa
> Lamont-Doherty Earth Observatory - Columbia University
> Palisades, NY, 10964-8000 - USA
> ---------------------------------------------------------------------
>
>
> Gus Correa wrote:
> > 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
> >
> ---------------------------------------------------------------------
> >
> >
> > _______________________________________________
> > users mailing list
> > users_at_[hidden]
> > http://www.open-mpi.org/mailman/listinfo.cgi/users
>
> _______________________________________________
> users mailing list
> users_at_[hidden]
> http://www.open-mpi.org/mailman/listinfo.cgi/users

-- 
Jeff Squyres
Cisco Systems