With the 1.10.r5c1 tarball on linux/x86-64 and various versions of the PGI
compilers I have configured with

--prefix=[...] --enable-debug CC=pgcc CXX=pgc++ FC=pgfortran


I see the following with version 14.3 of the PGI compilers:

/bin/bash ../../../libtool  --tag=CXX   --mode=link pgc++  -g
 -version-info 2:3:1  -o libmpi_cxx.la -rpath
/sandbox/hargrove/OMPI/openmpi-1.10.5rc1-linux-x86_64-pgi-14/INST/lib
mpicxx.lo intercepts.lo comm.lo datatype.lo win.lo file.lo ../../../ompi/
libmpi.la -lrt -lutil
libtool: link: pgc++  -fPIC -DPIC -shared -nostdlib
/usr/lib/x86_64-linux-gnu/crti.o
/nfs/software/linux-ubuntu_precise_amd64/com/packages/pgi/143/linux86-64/14.3/libso/trace_init.o
/usr/lib/gcc/x86_64-linux-gnu/4.6/crtbeginS.o
/nfs/software/linux-ubuntu_precise_amd64/com/packages/pgi/143/linux86-64/14.3/libso/initmp.o
 .libs/mpicxx.o .libs/intercepts.o .libs/comm.o .libs/datatype.o
.libs/win.o .libs/file.o   -Wl,-rpath
-Wl,/sandbox/hargrove/OMPI/openmpi-1.10.5rc1-linux-x86_64-pgi-14/BLD/ompi/.libs
-Wl,-rpath
-Wl,/sandbox/hargrove/OMPI/openmpi-1.10.5rc1-linux-x86_64-pgi-14/BLD/orte/.libs
-Wl,-rpath
-Wl,/sandbox/hargrove/OMPI/openmpi-1.10.5rc1-linux-x86_64-pgi-14/BLD/opal/.libs
-Wl,-rpath
-Wl,/sandbox/hargrove/OMPI/openmpi-1.10.5rc1-linux-x86_64-pgi-14/INST/lib
-L/sandbox/hargrove/OMPI/openmpi-1.10.5rc1-linux-x86_64-pgi-14/BLD/orte/.libs
-L/sandbox/hargrove/OMPI/openmpi-1.10.5rc1-linux-x86_64-pgi-14/BLD/opal/.libs
../../../ompi/.libs/libmpi.so
/sandbox/hargrove/OMPI/openmpi-1.10.5rc1-linux-x86_64-pgi-14/BLD/orte/.libs/libopen-rte.so
/sandbox/hargrove/OMPI/openmpi-1.10.5rc1-linux-x86_64-pgi-14/BLD/opal/.libs/libopen-pal.so
-ldl -lrt -lutil
-L/nfs/software/linux-ubuntu_precise_amd64/com/packages/pgi/143/linux86-64/14.3/libso
-L/soft/com/packages/pgi/143/14.3/share_objects/lib64
-L/nfs/software/linux-ubuntu_precise_amd64/com/packages/pgi/143/linux86-64/14.3/lib
-L/usr/lib64 -L/usr/lib/gcc/x86_64-linux-gnu/4.6 -lpgatm -lgcc_s -lstdc++
-lpgmp -lnuma -lpthread -lnspgc -lpgc -lm -lc -lgcc
/usr/lib/gcc/x86_64-linux-gnu/4.6/crtendS.o
/usr/lib/x86_64-linux-gnu/crtn.o  -g   -Wl,-soname -Wl,libmpi_cxx.so.1 -o
.libs/libmpi_cxx.so.1.1.3
pgc++-Error-Unknown switch: -nostdlib
make[2]: *** [libmpi_cxx.la] Error 1

Switching from CXX=pgc++ to CXX=pgCC eliminates the problem.

This is *possibly* related to the following configure output in which pgc++
has been misidentified as the GNU compiler:

$ grep 'compiler vendor' configure.log
checking for the C compiler vendor... portland group
checking for the C++ compiler vendor... gnu
checking for the C++ compiler vendor... (cached) gnu
checking for the C compiler vendor... portland group

I suspect that pgc++ is intentionally masquerading as a GNU compiler, but
falling short of the mark as of their 14.3 release.

I didn't see this in last night's testing of 2.0.2rc1 because I was
configuring with CXX=pgCC on my Linux/x86-64 systems.
However testing pgc++ today with 2.0.2rc1 I see pretty much the same
results with both release candidates:

With PGI 12.10 and 13.9 configure decides that CC and CXX are not link
compatible (but not when CXX=pgCC)
This is true of both the 1.10 and 2.0 RCs

With PGI 14.3, v1.10.5rc1 fails as described above, while 2.0.2rc1 (w/ c++
bindings disabled by default) was OK.
However, enabling the c++ bindings in 2.0.2rc1 leads to the same error
shown above.

With PGI 15.9, pgc++ unfortunately gets an unrelated ICE compiling VT
(which also vanishes with CXX=pgCC) for 1.10, and is fine for 2.0.

With PGI 16.10, pgcc gets an unrelated SEGV compiling mtl_ofi_component.c,
but has no problems with pgc++ on either branch once I configure using
--without-libfabric.


Based on my experiences listed above, I would recommend (in the Open MPI
README):
If building C++ bindings or VT, I advise against use of CXX=pgc++ prior to
16.10.
Otherwise, it appears usable from 14.3 forward.

-Paul

-- 
Paul H. Hargrove                          phhargr...@lbl.gov
Computer Languages & Systems Software (CLaSS) Group
Computer Science Department               Tel: +1-510-495-2352
Lawrence Berkeley National Laboratory     Fax: +1-510-486-6900
_______________________________________________
devel mailing list
devel@lists.open-mpi.org
https://rfd.newmexicoconsortium.org/mailman/listinfo/devel

Reply via email to