Open MPI logo

Open MPI User's Mailing List Archives

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

Subject: Re: [OMPI users] Problem building OpenMPI with PGI compilers
From: Gerald Creager (gerry.creager_at_[hidden])
Date: 2009-12-09 16:58:26


Fascinating. I've not had any real problems building it from scratch
with PGI. We are using the PGI 9 compilers, though, for that.

gerry

Gus Correa wrote:
> Hi David
>
> Last I tried, OpenMPI 1.3.2, PGI (8.0-4) was problematic,
> particularly for C and C++.
>
> I eventually settled down with a hybrid gcc, g++, and pgf90
> (for both OpenMPI F77 and F90 bindings).
> Even this required a trick to avoid the "-pthread" flag
> to be inserted among the pgf90 flags (where it doesn't belong).
> Yes, libtool was also part of the problem back then.
> You may find my postings about on this list archives - early 2009 -,
> along with Jeff Squyres' solution for the problem.
>
>
> I also built a full Gnu version (gcc, g++, gfortran, gfortran)
> of OpenMPI that works well.
> Intel and hybrid Gnu(gcc,g++)+Intel(ifort for F77 and F90)
> versions of OpenMPI also work right.
> We need multiple compiler support here anyway.
>
> My $0.02
> Gus Correa
> ---------------------------------------------------------------------
> Gustavo Correa
> Lamont-Doherty Earth Observatory - Columbia University
> Palisades, NY, 10964-8000 - USA
> ---------------------------------------------------------------------
>
>
>
>
> David Turner wrote:
>> Hi all,
>>
>> My first ever attempt to build OpenMPI. Platform is Sun Sunfire x4600
>> M2 servers, running Scientific Linux version 5.3. Trying to build
>> OpenMPI 1.4 (as of today; same problems yesterday with 1.3.4).
>> Trying to use PGI version 10.0.
>>
>> As a first attempt, I set CC, CXX, F77, and FC, then did "configure"
>> and "make". Make ends with:
>>
>> libtool: link: pgCC --prelink_objects --instantiation_dir
>> Template.dir .libs/mpicxx.o .libs/intercepts.o .libs/comm.o
>> .libs/datatype.o .libs/win.o .libs/file.o -Wl,--rpath
>> -Wl,/project/projectdirs/mpccc/usg/software/tnt/openmpi/openmpi-1.4/ompi/.libs
>> -Wl,--rpath
>> -Wl,/project/projectdirs/mpccc/usg/software/tnt/openmpi/openmpi-1.4/orte/.libs
>> -Wl,--rpath
>> -Wl,/project/projectdirs/mpccc/usg/software/tnt/openmpi/openmpi-1.4/opal/.libs
>> -Wl,--rpath -Wl,/global/common/tesla/usg/openmpi/1.4/lib
>> -L/project/projectdirs/mpccc/usg/software/tnt/openmpi/openmpi-1.4/orte/.libs
>> -L/project/projectdirs/mpccc/usg/software/tnt/openmpi/openmpi-1.4/opal/.libs
>> ../../../ompi/.libs/libmpi.so
>> /project/projectdirs/mpccc/usg/software/tnt/openmpi/openmpi-1.4/orte/.libs/libopen-rte.so
>> /project/projectdirs/mpccc/usg/software/tnt/openmpi/openmpi-1.4/opal/.libs/libopen-pal.so
>> -ldl -lnsl -lutil -lpthread
>> pgCC-Error-Unknown switch: --instantiation_dir
>> make[2]: *** [libmpi_cxx.la] Error 1
>>
>> So I Googled "instantiation_dir openmpi", which led me to:
>>
>> http://cia.vc/stats/project/OMPI?s_message=3
>>
>> where I see:
>>
>> There's still something wrong with the C++ support, however; I get
>> errors about a template directory switch when compiling the C++ MPI
>> bindings (doesn't happen with PGI 9.0). Still working on this... it
>> feels like it's still a Libtool issue because OMPI is not putting in
>> this compiler flag as far as I can tell:
>>
>> {{{
>> /bin/sh ../../../libtool --tag=CXX --mode=link pgCC -g -version-info
>> 0:0:0 -export-dynamic -o libmpi_cxx.la -rpath /home/jsquyres/bogus/lib
>> mpicxx.lo intercepts.lo comm.lo datatype.lo win.lo file.lo
>> ../../../ompi/libmpi.la -lnsl -lutil -lpthread
>> libtool: link: tpldir=Template.dir
>> libtool: link: rm -rf Template.dir
>> libtool: link: pgCC --prelink_objects --instantiation_dir Template.dir
>> .libs/mpicxx.o .libs/intercepts.o .libs/comm.o .libs/datatype.o
>> .libs/win.o .libs/file.o -Wl,--rpath
>> -Wl,/users/jsquyres/svn/ompi-1.3/ompi/.libs -Wl,--rpath
>> -Wl,/users/jsquyres/svn/ompi-1.3/orte/.libs -Wl,--rpath
>> -Wl,/users/jsquyres/svn/ompi-1.3/opal/.libs -Wl,--rpath
>> -Wl,/home/jsquyres/bogus/lib -L/users/jsquyres/svn/ompi-1.3/orte/.libs
>> -L/users/jsquyres/svn/ompi-1.3/opal/.libs
>> ../../../ompi/.libs/libmpi.so
>> /users/jsquyres/svn/ompi-1.3/orte/.libs/libopen-rte.so
>> /users/jsquyres/svn/ompi-1.3/opal/.libs/libopen-pal.so -ldl -lnsl
>> -lutil -lpthread
>> pgCC-Error-Unknown switch: --instantiation_dir
>> make: *** [libmpi_cxx.la] Error 1
>> }}}
>>
>> I noticed the comment "doesn't happen with PGI 9.0", so I re-did the
>> entire process with PGI 9.0 instead of 10.0, but I get the same error!
>>
>> Any suggestions? Let me know if I should provide full copies of the
>> configure and make output. Thanks!
>>
>
> _______________________________________________
> users mailing list
> users_at_[hidden]
> http://www.open-mpi.org/mailman/listinfo.cgi/users