Build OpenMPI 1.4.2 Link Failure in tools/otfaux PGI 10.8

My build of OpenMPI 1.4.1 fails to link in tools/otfaux. The GNU build works without any errors for otfaux on the same system.

System: Red Hat Enterprise Linux Client release 5.5 (Tikanga)

PGI Release:

pgcc -V

pgcc 10.8-0 64-bit target on x86-64 Linux -tp shanghai-64


Here are the error messages:

Making all in tools
make[8]: Entering directory /sscc/opt/Apps/OpenMPI/Configs/PGI/ompi/contrib/vt/vt/extlib/otf/tools' Making all in otfaux make[9]: Entering directory /sscc/opt/Apps/OpenMPI/Configs/PGI/ompi/contrib/vt/vt/extlib/otf/tools/otfaux’
g++ -DHAVE_CONFIG_H -I. -I/root/OpenMPI/openmpi-1.4.2/ompi/contrib/vt/vt/extlib/otf/tools/otfaux -I…/… -I…/…/otflib -I/root/OpenMPI/openmpi-1.4.2/ompi/contrib/vt/vt/extlib/otf/otflib -I/root/OpenMPI/openmpi-1.4.2/ompi/contrib/vt/vt/extlib/otf -D_REENTRANT -MT otfaux.o -MD -MP -MF .deps/otfaux.Tpo -c -o otfaux.o /root/OpenMPI/openmpi-1.4.2/ompi/contrib/vt/vt/extlib/otf/tools/otfaux/otfaux.cpp
mv -f .deps/otfaux.Tpo .deps/otfaux.Po
g++ -DHAVE_CONFIG_H -I. -I/root/OpenMPI/openmpi-1.4.2/ompi/contrib/vt/vt/extlib/otf/tools/otfaux -I…/… -I…/…/otflib -I/root/OpenMPI/openmpi-1.4.2/ompi/contrib/vt/vt/extlib/otf/otflib -I/root/OpenMPI/openmpi-1.4.2/ompi/contrib/vt/vt/extlib/otf -D_REENTRANT -MT Control.o -MD -MP -MF .deps/Control.Tpo -c -o Control.o /root/OpenMPI/openmpi-1.4.2/ompi/contrib/vt/vt/extlib/otf/tools/otfaux/Control.cpp
mv -f .deps/Control.Tpo .deps/Control.Po
g++ -DHAVE_CONFIG_H -I. -I/root/OpenMPI/openmpi-1.4.2/ompi/contrib/vt/vt/extlib/otf/tools/otfaux -I…/… -I…/…/otflib -I/root/OpenMPI/openmpi-1.4.2/ompi/contrib/vt/vt/extlib/otf/otflib -I/root/OpenMPI/openmpi-1.4.2/ompi/contrib/vt/vt/extlib/otf -D_REENTRANT -MT Handler.o -MD -MP -MF .deps/Handler.Tpo -c -o Handler.o /root/OpenMPI/openmpi-1.4.2/ompi/contrib/vt/vt/extlib/otf/tools/otfaux/Handler.cpp
mv -f .deps/Handler.Tpo .deps/Handler.Po
g++ -DHAVE_CONFIG_H -I. -I/root/OpenMPI/openmpi-1.4.2/ompi/contrib/vt/vt/extlib/otf/tools/otfaux -I…/… -I…/…/otflib -I/root/OpenMPI/openmpi-1.4.2/ompi/contrib/vt/vt/extlib/otf/otflib -I/root/OpenMPI/openmpi-1.4.2/ompi/contrib/vt/vt/extlib/otf -D_REENTRANT -MT State.o -MD -MP -MF .deps/State.Tpo -c -o State.o /root/OpenMPI/openmpi-1.4.2/ompi/contrib/vt/vt/extlib/otf/tools/otfaux/State.cpp
mv -f .deps/State.Tpo .deps/State.Po
/bin/sh …/…/libtool --tag=CXX --mode=link g++ -o otfaux otfaux.o Control.o Handler.o State.o …/…/otflib/libotf.la -lz -lnsl -lutil -lpthread
libtool: link: g++ -o otfaux otfaux.o Control.o Handler.o State.o …/…/otflib/.libs/libotf.a -lz -lnsl -lutil -lpthread
…/…/otflib/.libs/libotf.a(OTF_Reader.o): In function OTF_Reader_readEventsUnsorted': /root/OpenMPI/openmpi-1.4.2/ompi/contrib/vt/vt/extlib/otf/otflib/OTF_Reader.c:2031: undefined reference to __mth_i_dfloatuk’
/root/OpenMPI/openmpi-1.4.2/ompi/contrib/vt/vt/extlib/otf/otflib/OTF_Reader.c:2031: undefined reference to __mth_i_dfloatuk' /root/OpenMPI/openmpi-1.4.2/ompi/contrib/vt/vt/extlib/otf/otflib/OTF_Reader.c:2031: undefined reference to __mth_i_dfloatuk’
/root/OpenMPI/openmpi-1.4.2/ompi/contrib/vt/vt/extlib/otf/otflib/OTF_Reader.c:2031: undefined reference to __mth_i_dfixuk' ../../otflib/.libs/libotf.a(OTF_Reader.o): In function OTF_Reader_readSnapshotsUnsorted’:
/root/OpenMPI/openmpi-1.4.2/ompi/contrib/vt/vt/extlib/otf/otflib/OTF_Reader.c:2680: undefined reference to __mth_i_dfloatuk' /root/OpenMPI/openmpi-1.4.2/ompi/contrib/vt/vt/extlib/otf/otflib/OTF_Reader.c:2680: undefined reference to __mth_i_dfloatuk’
/root/OpenMPI/openmpi-1.4.2/ompi/contrib/vt/vt/extlib/otf/otflib/OTF_Reader.c:2680: undefined reference to __mth_i_dfloatuk' /root/OpenMPI/openmpi-1.4.2/ompi/contrib/vt/vt/extlib/otf/otflib/OTF_Reader.c:2680: undefined reference to __mth_i_dfixuk’
…/…/otflib/.libs/libotf.a(OTF_Reader.o): In function OTF_Reader_readStatisticsUnsorted': /root/OpenMPI/openmpi-1.4.2/ompi/contrib/vt/vt/extlib/otf/otflib/OTF_Reader.c:3325: undefined reference to __mth_i_dfloatuk’
/root/OpenMPI/openmpi-1.4.2/ompi/contrib/vt/vt/extlib/otf/otflib/OTF_Reader.c:3325: undefined reference to __mth_i_dfloatuk' /root/OpenMPI/openmpi-1.4.2/ompi/contrib/vt/vt/extlib/otf/otflib/OTF_Reader.c:3325: undefined reference to __mth_i_dfloatuk’
/root/OpenMPI/openmpi-1.4.2/ompi/contrib/vt/vt/extlib/otf/otflib/OTF_Reader.c:3325: undefined reference to `__mth_i_dfixuk’
collect2: ld returned 1 exit status
make[9]: *** [otfaux] Error 1

My configuration:

NUVER=1.4.2

env CC=pgcc FC=pgfortran F77=pgfortran CXX=pgcpp CFLAGS=-fast FFLAGS=-fast CXXFLAGS=-fast

/root/OpenMPI/openmpi-${NUVER}/configure
–prefix=/opt/openmpi/PGI
–with-tm=/usr/pbs
–enable-static
2>&1 | tee NUInstall.configure



What can I do to get past this problem?
Thanks!
Bruce

Hi Bruce,

The error listed is due to OpenMPI using g++ to link but is missing the PGI runtime libraries. However, I don’t think you meant to use g++ and instead wanted pgcpp?

Note that ‘env’ only applies to the command immediately after it on the same line. It appears that you might have run ‘env’ and then configure on a new line. If this is the case try again with env and configure on the same commands line. Or instead of using “env”, try setting each environment variable individually before running configure. i.e “setenv CXX pgcpp” or “export CXX=pgcpp” depending upon your shell.

Hope this helps,
Mat

Thanks, Matt! That was exactly the problem. A bit of careless editing on my part.

Bruce