Hi All

As I stated on my original posting,
I haven't compiled OpenMPI since 1.3.2.
Just trying to be of help, based on previous,
and maybe too old, experiences.

The problem I referred to happened with PGI 8.0-4 and OpenMPI 1.3.
Most likely the issue is superseded already by the newer
OpenMPI configuration scripts, but it did exist
and it did involve libtool as well,
although it seems to be different from what
David Turner just reported with PGI 10,
and apparently with PGI 9 also (so he wrote).

These threads document the problem I had,
with one solution provided by Jeff Squyres,
and another by Orion Poplawski:

http://www.open-mpi.org/community/lists/users/2009/04/8724.php
http://www.open-mpi.org/community/lists/users/2009/04/8911.php

Those workarounds may no longer be required, considering what Jeff
and Gerry wrote, which is good news, of course.

Thanks,
Gus Correa
---------------------------------------------------------------------
Gustavo Correa
Lamont-Doherty Earth Observatory - Columbia University
Palisades, NY, 10964-8000 - USA
---------------------------------------------------------------------


Jeff Squyres wrote:
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




Reply via email to