Hi -
LAM requires that the C++ compiler used to build the C++ bindings have
exceptions support. The -mp option to pgCC turns off exception support
in the C++ compiler. You have two options:
1) don't build the C++ bindings (--without-mpi2cpp)
2) don't use the -mp option
The -mp option appears to turn on OpenMP support. LAM/MPI doesn't
contain OpenMP directives and I certainly wouldn't recommend building
LAM with that option. In general, I recommend using the bare minimum
number of compiler optimizations needed when compiling LAM/MPI. They
generally have no impact on performance and generally cause all kinds of
gremlins. I'd limit the PGI options to build LAM/MPI to "-g -O3" and
maybe -Knoieee if you are building your app that way, so that the
floating point stuff all works out. Your MPI application can still use
all the optimization flags you can throw at the compiler.
Brian
Michael Galloway wrote:
> good day all, i'm trying to build lam 7.1.3 with pgi 6.2.4 and it fails at this point
> in the build:
>
> source='op.cc' object='op.lo' libtool=yes \
> DEPDIR=.deps depmode=none /bin/sh ../../.././config/depcomp \
> /bin/sh ../../../libtool --tag=CXX --mode=compile pgCC -DHAVE_CONFIG_H -I. -I. -I../../../share/include -I../../../share/include -DLAM_BUILDING=1 -D_REENTRANT -g -O3 -Minfo=all -fastsse -Knoieee -mp -c -o op.lo op.cc
> source='comm.cc' object='comm.lo' libtool=yes \
> DEPDIR=.deps depmode=none /bin/sh ../../.././config/depcomp \
> /bin/sh ../../../libtool --tag=CXX --mode=compile pgCC -DHAVE_CONFIG_H -I. -I. -I../../../share/include -I../../../share/include -DLAM_BUILDING=1 -D_REENTRANT -g -O3 -Minfo=all -fastsse -Knoieee -mp -c -o comm.lo comm.cc
> pgCC -DHAVE_CONFIG_H -I. -I. -I../../../share/include -I../../../share/include -DLAM_BUILDING=1 -D_REENTRANT -g -O3 -Minfo=all -fastsse -Knoieee -mp -c comm.cc -o comm.o
> pgCC -DHAVE_CONFIG_H -I. -I. -I../../../share/include -I../../../share/include -DLAM_BUILDING=1 -D_REENTRANT -g -O3 -Minfo=all -fastsse -Knoieee -mp -c op.cc -o op.o
> pgCC -DHAVE_CONFIG_H -I. -I. -I../../../share/include -I../../../share/include -DLAM_BUILDING=1 -D_REENTRANT -g -O3 -Minfo=all -fastsse -Knoieee -mp -c intercepts.cc -o intercepts.o
> pgCC -DHAVE_CONFIG_H -I. -I. -I../../../share/include -I../../../share/include -DLAM_BUILDING=1 -D_REENTRANT -g -O3 -Minfo=all -fastsse -Knoieee -mp -c mpicxx.cc -o mpicxx.o
> pgCC -DHAVE_CONFIG_H -I. -I. -I../../../share/include -I../../../share/include -DLAM_BUILDING=1 -D_REENTRANT -g -O3 -Minfo=all -fastsse -Knoieee -mp -c pmpicxx.cc -o pmpicxx.o
> "intercepts.cc", line 33: error: support for exception handling is disabled
> throw(MPI::Exception(*errcode));
> ^
>
> 1 error detected in the compilation of "intercepts.cc".
> make[3]: *** [intercepts.lo] Error 1
> make[3]: *** Waiting for unfinished jobs....
> PMPI::Intracomm::Create_cart(int, const int *, const bool *, bool) const:
> 251, Loop unrolled 4 times
> PMPI::Cartcomm::Get_topo(int, int *, bool *, int *) const:
> 68, Loop unrolled 4 times
> 72, Loop unrolled 4 times
> PMPI::Cartcomm::Map(int, const int *, const bool *) const:
> 118, Loop unrolled 4 times
> PMPI::Intracomm::Create_cart(int, const int *, const bool *, bool) const:
> 251, Loop unrolled 4 times
> PMPI::Cartcomm::Get_topo(int, int *, bool *, int *) const:
> 68, Loop unrolled 4 times
> 72, Loop unrolled 4 times
> PMPI::Cartcomm::Map(int, const int *, const bool *) const:
> 118, Loop unrolled 4 times
> make[3]: Leaving directory `/share/build/lam-7.1.3/share/mpi/cxx'
> make[2]: *** [all-recursive] Error 1
> make[2]: Leaving directory `/share/build/lam-7.1.3/share/mpi'
> make[1]: *** [all-recursive] Error 1
> make[1]: Leaving directory `/share/build/lam-7.1.3/share'
> make: *** [all-recursive] Error 1
>
> my build environment looks like this:
>
> F90FLAGS=-fastsse
> LD_LIBRARY_PATH=/opt/pgi/linux86-64/6.2/lib:/opt/globus/lib:/opt/lam/gnu/lib
> CXXFLAGS=-g -O3 -Minfo=all -fastsse -Knoieee -mp
> PGI=/opt/pgi
> FCFLAGS=-fastsse
> F90=pgf90
> F77=pgf77
> LM_LICENSE_FILE=/opt/pgi/license.dat
> CXX=pgCC
> CFLAGS=-g -O3 -Minfo=all -fastsse -Knoieee -mp
> FC=pgf90
> CC=pgcc
> FFLAGS=-fastsse
>
> and my configure was simply:
>
> ./configure --prefix=/share/apps/lam-7.1.3_pgi
>
> this is on an opteron system.
>
> thanks for any insight?
>
> -- michael
> _______________________________________________
> This list is archived at http://www.lam-mpi.org/MailArchives/lam/
>
|