Just to set the record straight: it's a Libtool problem with PGI version 10 (all PGI versions below 10 work fine).
This has been reported to the GNU Libtool folks and patches have already been applied upstream. However, there hasn't been a new Libtool release yet with these patches, so we have to patch during the Open MPI build (hence, the solution is in our autogen.sh script, which sets up the configure/build system). On Dec 9, 2009, at 4:58 PM, Gerald Creager wrote: > 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 > > us...@open-mpi.org > > http://www.open-mpi.org/mailman/listinfo.cgi/users > _______________________________________________ > users mailing list > us...@open-mpi.org > http://www.open-mpi.org/mailman/listinfo.cgi/users > -- Jeff Squyres jsquy...@cisco.com