[Trilinos-Users] make tests fails on franklin
Ben Cowan
benc at txcorp.com
Mon Feb 23 09:41:52 MST 2009
Hello,
Attempting to build the trilinos 9.0.2 tests on the Franklin
supercomputer at NERSC fails with a link error. I'm using the PGI
8.0.1 compiler, and configuring with
optflags="-fast"
${sourcedir}/configure --prefix=${installdir} --enable-mpi \
--disable-default-packages --enable-ml --enable-amesos --enable-
aztecoo \
--enable-epetra --enable-epetraext --enable-triutils --enable-
anasazi \
--enable-ifpack --enable-galeri \
--with-gnumake CXX=CC CC=cc F77=ftn \
CPPFLAGS="-DMPICH_IGNORE_CXX_SEEK" \
CXXFLAGS="$optflags --no_using_std" CFLAGS="$optflags"
FFLAGS="$optflags"
Building the libraries completes successfully, but "make tests" fails
trying to link a Teuchos test. Here's the link line with the error
output:
make[4]: Entering directory `/scratch/scratchdirs/benc/build/
trilinos-9.0.2/packages/teuchos/test/Comm'
CC -fast --no_using_std -o DefaultMpiComm_UnitTests.exe
DefaultMpiComm_UnitTests.o Teuchos_StandardUnitTestMain.o -L/u0/b/benc/
build/trilinos-9.0.2/packages/teuchos/src -lteuchos -L/opt/mpt/
3.1.0/xt/mpich2-pgi/lib -L/opt/xt-libsci/10.2.1/pgi/snos64/lib -L/opt/
mpt/3.1.0/xt/sma/lib -L/opt/mpt/3.1.0/xt/util/lib -L/opt/mpt/3.1.0/xt/
pmi/lib -L/opt/xt-pe/2.1.41HD/lib/snos64 -L/opt/xt-service/2.1.41HD/
lib/snos64 -L/opt/pgi/8.0.1/linux86-64/8.0-1/lib -L/usr/lib64 -L/usr/
lib64/gcc/x86_64-suse-linux/4.1.2 -lsci_quadcore -lsci -lsma -
lmpichf90 -lmpich -lrt -lpmi -lalpslli -lalpsutil -lportals -lpthread -
lpgf90 -lpgf90_rpm1 -lpgf902 -lpgf90rtl -lpgftnrtl -lnspgc -lpgc -lm
/opt/cray/xt-asyncpe/2.0/bin/CC: INFO: linux target is being used
DefaultMpiComm_UnitTests.o: In function
`
_Z1Z
::relErr__tm__26_Q2_3std16complex__tm__2_f__7TeuchosFRCZ1ZT1_Q3_7Teuchos23ScalarTraits__tm
(magnitudeType)':
DefaultMpiComm_UnitTests.cpp:
(.gnu
.linkonce
.t
.relErr__tm__26_Q2_3std16complex__tm__2_f__7TeuchosFRCZ1ZT1_Q3_7Teuchos23ScalarTraits__tm__4_Z1Z13magnitudeType
+0x51): undefined reference to `std::abs(std::complex<float> const &)'
DefaultMpiComm_UnitTests.cpp:
(.gnu
.linkonce
.t
.relErr__tm__26_Q2_3std16complex__tm__2_f__7TeuchosFRCZ1ZT1_Q3_7Teuchos23ScalarTraits__tm__4_Z1Z13magnitudeType
+0x6e): undefined reference to `std::abs(std::complex<float> const &)'
DefaultMpiComm_UnitTests.cpp:
(.gnu
.linkonce
.t
.relErr__tm__26_Q2_3std16complex__tm__2_f__7TeuchosFRCZ1ZT1_Q3_7Teuchos23ScalarTraits__tm__4_Z1Z13magnitudeType
+0x7e): undefined reference to `std::abs(std::complex<float> const &)'
DefaultMpiComm_UnitTests.cpp:
(.gnu
.linkonce
.t
.relErr__tm__26_Q2_3std16complex__tm__2_f__7TeuchosFRCZ1ZT1_Q3_7Teuchos23ScalarTraits__tm__4_Z1Z13magnitudeType
+0x8e): undefined reference to `std::abs(std::complex<float> const &)'
DefaultMpiComm_UnitTests.o: In function
`
_Z1Z
::relErr__tm__26_Q2_3std16complex__tm__2_d__7TeuchosFRCZ1ZT1_Q3_7Teuchos23ScalarTraits__tm
(magnitudeType)':
DefaultMpiComm_UnitTests.cpp:
(.gnu
.linkonce
.t
.relErr__tm__26_Q2_3std16complex__tm__2_d__7TeuchosFRCZ1ZT1_Q3_7Teuchos23ScalarTraits__tm__4_Z1Z13magnitudeType
+0x5d): undefined reference to `std::abs(std::complex<double> const &)'
DefaultMpiComm_UnitTests.cpp:
(.gnu
.linkonce
.t
.relErr__tm__26_Q2_3std16complex__tm__2_d__7TeuchosFRCZ1ZT1_Q3_7Teuchos23ScalarTraits__tm__4_Z1Z13magnitudeType
+0x7e): undefined reference to `std::abs(std::complex<double> const &)'
DefaultMpiComm_UnitTests.cpp:
(.gnu
.linkonce
.t
.relErr__tm__26_Q2_3std16complex__tm__2_d__7TeuchosFRCZ1ZT1_Q3_7Teuchos23ScalarTraits__tm__4_Z1Z13magnitudeType
+0x8e): undefined reference to `std::abs(std::complex<double> const &)'
DefaultMpiComm_UnitTests.cpp:
(.gnu
.linkonce
.t
.relErr__tm__26_Q2_3std16complex__tm__2_d__7TeuchosFRCZ1ZT1_Q3_7Teuchos23ScalarTraits__tm__4_Z1Z13magnitudeType
+0x9e): undefined reference to `std::abs(std::complex<double> const &)'
make[4]: *** [DefaultMpiComm_UnitTests.exe] Error 2
Demangling one of the functions in which a reference is undefined gives:
nid04100$ echo
'.gnu
.linkonce
.t
.relErr__tm__26_Q2_3std16complex__tm__2_f__7TeuchosFRCZ1ZT1_Q3_7Teuchos23ScalarTraits__tm__4_Z1Z13magnitudeType
+0x51' | pgdecode
.gnu.linkonce.t.Teuchos::ScalarTraits<T1>::magnitudeType
Teuchos::relErr<T1>(const T1 &, const T1 &) [with
T1=std::complex<float>]+0x51
It looks like a template isn't being instantiated properly, but beyond
that I can't figure out what's wrong by looking at the code. Trying
to insert explicit instnatiations doesn't seem to help. Any ideas for
a fix/workaround would be appreciated.
Thanks,
Ben
More information about the Trilinos-Users
mailing list