[Trilinos-Users] Error with --enable-epetraext-hdf5
ryuta
suzu0037 at aem.umn.edu
Fri Aug 31 19:51:33 MDT 2007
I gave trilinos-8.0.1 a shot and I was able to compile and link
HDF5_IO.exe. I was also able to run it. I guess we can assume the bug
was fixed in this release. Thanks a lot.
-Ryuta
ryuta wrote:
> Hi,
>
> I've been able to build most trilinos packages without problem until I
> added HDF5 support for EpetraExt.
>
> The problem occurs when building an example for HDF5-IO, specifically
> at link stage.
>
> My guess is that libepetraext is not built correctly and the linker
> gets confused to resolve the symbols.
> gcc-4.2.1 is used and I suspect the compiler is a culprit.
>
>
> The following is the error message from linker:
>
> /usr/local/bin/mpicxx -g -O2 -L/home/ryuta/Development/lib -o
> HDF5_IO.exe HDF5_IO-HDF5_IO.o -L/home/ryuta/Development/lib
> -L/home/ryuta/Development/src/trilinos-7.0.9-build/packages/epetraext/src
> -lepetraext -L/home/ryuta/Development/lib
> -L/home/ryuta/Development/src/trilinos-7.0.9-build/packages/epetra/src
> -lepetra -llapack -lblas -lmetis -lumfpack -lamd -lhdf5
> -L/home/ryuta/Development/lib -L/usr/local/lib -L.
> -L/usr/lib/gcc/i686-pc-linux-gnu/4.2.1
> -L/usr/lib/gcc/i686-pc-linux-gnu/4.2.1/../../.. -lmetis -lumfpack
> -lamd -lhdf5 -lmpi_f77 -lmpi -lopen-rte -lopen-pal -ldl -lnsl -lutil
> -lgfortranbegin -lgfortran -lm -lgcc_s -lpthread
> -L/home/ryuta/Development/lib
> -L/home/ryuta/Development/src/trilinos-7.0.9-build/packages/triutils/src
> -ltriutils -L/home/ryuta/Development/lib
> -L/home/ryuta/Development/src/trilinos-7.0.9-build/packages/epetra/src
> -lepetra -llapack -lblas -lmetis -lumfpack -lamd -lhdf5
> -L/home/ryuta/Development/lib -L/usr/local/lib -L.
> -L/usr/lib/gcc/i686-pc-linux-gnu/4.2.1
> -L/usr/lib/gcc/i686-pc-linux-gnu/4.2.1/../../.. -lmetis -lumfpack
> -lamd -lhdf5 -lmpi_f77 -lmpi -lopen-rte -lopen-pal -ldl -lnsl -lutil
> -lgfortranbegin -lgfortran -lm -lgcc_s -lpthread -lblas -lmetis
> -lumfpack -lamd -lhdf5 -L/home/ryuta/Development/lib
> -L/usr/local/lib -L. -L/usr/lib/gcc/i686-pc-linux-gnu/4.2.1
> -L/usr/lib/gcc/i686-pc-linux-gnu/4.2.1/../../.. -lmetis -lumfpack
> -lamd -lhdf5 -lmpi_f77 -lmpi -lopen-rte -lopen-pal -ldl -lnsl -lutil
> -lgfortranbegin -lgfortran -lm -lgcc_s -lpthread
> -L/home/ryuta/Development/lib
> -L/home/ryuta/Development/src/trilinos-7.0.9-build/packages/teuchos/src
> -lteuchos -lmetis -lumfpack -lamd -lhdf5 -llapack -lblas
> -L/home/ryuta/Development/lib -L/usr/local/lib -L.
> -L/usr/lib/gcc/i686-pc-linux-gnu/4.2.1
> -L/usr/lib/gcc/i686-pc-linux-gnu/4.2.1/../../.. -lmetis -lumfpack
> -lamd -lhdf5 -lmpi_f77 -lmpi -lopen-rte -lopen-pal -ldl -lnsl -lutil
> -lgfortranbegin -lgfortran -lm -lgcc_s -lpthread -lzoltan -lparmetis
> -lmetis -lmetis -lumfpack -lamd -lhdf5 -llapack -lblas
> -L/home/ryuta/Development/lib -L/usr/local/lib -L.
> -L/usr/lib/gcc/i686-pc-linux-gnu/4.2.1
> -L/usr/lib/gcc/i686-pc-linux-gnu/4.2.1/../../.. -lmetis -lumfpack
> -lamd -lhdf5 -lmpi_f77 -lmpi -lopen-rte -lopen-pal -ldl -lnsl -lutil
> -lgfortranbegin -lgfortran -lm -lgcc_s -lpthread -lzoltan -lparmetis
> -lmetis -lmetis -lumfpack -lamd -lhdf5
> HDF5_IO-HDF5_IO.o: In function `main':
> ../../../../../trilinos-7.0.9/packages/epetraext/example/inout/HDF5_IO.cpp:57:
> undefined reference to `EpetraExt::HDF5::HDF5(Epetra_Comm const&)'
> ../../../../../trilinos-7.0.9/packages/epetraext/example/inout/HDF5_IO.cpp:60:
> undefined reference to
> `EpetraExt::HDF5::Create(std::basic_string<char,
> std::char_traits<char>, std::allocator<char> >)'
> ../../../../../trilinos-7.0.9/packages/epetraext/example/inout/HDF5_IO.cpp:70:
> undefined reference to `EpetraExt::HDF5::Write(std::basic_string<char,
> std::char_traits<char>, std::allocator<char> > const&, Epetra_Map const&)'
> ../../../../../trilinos-7.0.9/packages/epetraext/example/inout/HDF5_IO.cpp:72:
> undefined reference to `EpetraExt::HDF5::Write(std::basic_string<char,
> std::char_traits<char>, std::allocator<char> > const&,
> Epetra_RowMatrix const&)'
> ../../../../../trilinos-7.0.9/packages/epetraext/example/inout/HDF5_IO.cpp:74:
> undefined reference to `EpetraExt::HDF5::Write(std::basic_string<char,
> std::char_traits<char>, std::allocator<char> > const&,
> Epetra_MultiVector const&)'
> ../../../../../trilinos-7.0.9/packages/epetraext/example/inout/HDF5_IO.cpp:75:
> undefined reference to `EpetraExt::HDF5::Write(std::basic_string<char,
> std::char_traits<char>, std::allocator<char> > const&,
> Epetra_MultiVector const&)'
> ../../../../../trilinos-7.0.9/packages/epetraext/example/inout/HDF5_IO.cpp:77:
> undefined reference to `EpetraExt::HDF5::Write(std::basic_string<char,
> std::char_traits<char>, std::allocator<char> > const&,
> std::basic_string<char, std::char_traits<char>, std::allocator<char> >
> const&, int)'
> ../../../../../trilinos-7.0.9/packages/epetraext/example/inout/HDF5_IO.cpp:78:
> undefined reference to `EpetraExt::HDF5::Write(std::basic_string<char,
> std::char_traits<char>, std::allocator<char> > const&,
> std::basic_string<char, std::char_traits<char>, std::allocator<char> >
> const&, double)'
> ../../../../../trilinos-7.0.9/packages/epetraext/example/inout/HDF5_IO.cpp:79:
> undefined reference to `EpetraExt::HDF5::Write(std::basic_string<char,
> std::char_traits<char>, std::allocator<char> > const&,
> std::basic_string<char, std::char_traits<char>, std::allocator<char> >
> const&, std::basic_string<char, std::char_traits<char>,
> std::allocator<char> > const&)'
> ../../../../../trilinos-7.0.9/packages/epetraext/example/inout/HDF5_IO.cpp:80:
> undefined reference to `EpetraExt::HDF5::Write(std::basic_string<char,
> std::char_traits<char>, std::allocator<char> > const&,
> std::basic_string<char, std::char_traits<char>, std::allocator<char> >
> const&, std::basic_string<char, std::char_traits<char>,
> std::allocator<char> > const&)'
> ../../../../../trilinos-7.0.9/packages/epetraext/example/inout/HDF5_IO.cpp:81:
> undefined reference to `EpetraExt::HDF5::Write(std::basic_string<char,
> std::char_traits<char>, std::allocator<char> > const&,
> std::basic_string<char, std::char_traits<char>, std::allocator<char> >
> const&, std::basic_string<char, std::char_traits<char>,
> std::allocator<char> > const&)'
> ../../../../../trilinos-7.0.9/packages/epetraext/example/inout/HDF5_IO.cpp:83:
> undefined reference to `EpetraExt::HDF5::Write(std::basic_string<char,
> std::char_traits<char>, std::allocator<char> > const&,
> std::basic_string<char, std::char_traits<char>, std::allocator<char> >
> const&, int)'
> ../../../../../trilinos-7.0.9/packages/epetraext/example/inout/HDF5_IO.cpp:84:
> undefined reference to `EpetraExt::HDF5::Write(std::basic_string<char,
> std::char_traits<char>, std::allocator<char> > const&,
> std::basic_string<char, std::char_traits<char>, std::allocator<char> >
> const&, int)'
> ../../../../../trilinos-7.0.9/packages/epetraext/example/inout/HDF5_IO.cpp:87:
> undefined reference to `EpetraExt::HDF5::Write(std::basic_string<char,
> std::char_traits<char>, std::allocator<char> > const&,
> Teuchos::ParameterList const&)'
> ../../../../../trilinos-7.0.9/packages/epetraext/example/inout/HDF5_IO.cpp:92:
> undefined reference to `EpetraExt::HDF5::Write(std::basic_string<char,
> std::char_traits<char>, std::allocator<char> > const&,
> std::basic_string<char, std::char_traits<char>, std::allocator<char> >
> const&, int, int, void*)'
> ../../../../../trilinos-7.0.9/packages/epetraext/example/inout/HDF5_IO.cpp:96:
> undefined reference to `EpetraExt::HDF5::Write(std::basic_string<char,
> std::char_traits<char>, std::allocator<char> > const&,
> std::basic_string<char, std::char_traits<char>, std::allocator<char> >
> const&, int, int, void*)'
> ../../../../../trilinos-7.0.9/packages/epetraext/example/inout/HDF5_IO.cpp:114:
> undefined reference to
> `EpetraExt::HDF5::IsContained(std::basic_string<char,
> std::char_traits<char>, std::allocator<char> >)'
> ../../../../../trilinos-7.0.9/packages/epetraext/example/inout/HDF5_IO.cpp:116:
> undefined reference to `EpetraExt::HDF5::Read(std::basic_string<char,
> std::char_traits<char>, std::allocator<char> > const&, Epetra_Map*&)'
> ../../../../../trilinos-7.0.9/packages/epetraext/example/inout/HDF5_IO.cpp:117:
> undefined reference to `EpetraExt::HDF5::Read(std::basic_string<char,
> std::char_traits<char>, std::allocator<char> > const&, Epetra_Map
> const&, Epetra_Map const&, Epetra_CrsMatrix*&)'
> ../../../../../trilinos-7.0.9/packages/epetraext/example/inout/HDF5_IO.cpp:130:
> undefined reference to `EpetraExt::HDF5::Read(std::basic_string<char,
> std::char_traits<char>, std::allocator<char> > const&,
> std::basic_string<char, std::char_traits<char>, std::allocator<char> >
> const&, int&)'
> ../../../../../trilinos-7.0.9/packages/epetraext/example/inout/HDF5_IO.cpp:135:
> undefined reference to `EpetraExt::HDF5::Read(std::basic_string<char,
> std::char_traits<char>, std::allocator<char> > const&,
> Epetra_MultiVector*&)'
> ../../../../../trilinos-7.0.9/packages/epetraext/example/inout/HDF5_IO.cpp:136:
> undefined reference to `EpetraExt::HDF5::Read(std::basic_string<char,
> std::char_traits<char>, std::allocator<char> > const&,
> Epetra_MultiVector*&)'
> ../../../../../trilinos-7.0.9/packages/epetraext/example/inout/HDF5_IO.cpp:142:
> undefined reference to `EpetraExt::HDF5::Read(std::basic_string<char,
> std::char_traits<char>, std::allocator<char> > const&,
> std::basic_string<char, std::char_traits<char>, std::allocator<char> >
> const&, int&)'
> ../../../../../trilinos-7.0.9/packages/epetraext/example/inout/HDF5_IO.cpp:143:
> undefined reference to `EpetraExt::HDF5::Read(std::basic_string<char,
> std::char_traits<char>, std::allocator<char> > const&,
> std::basic_string<char, std::char_traits<char>, std::allocator<char> >
> const&, int&)'
> ../../../../../trilinos-7.0.9/packages/epetraext/example/inout/HDF5_IO.cpp:144:
> undefined reference to `EpetraExt::HDF5::Read(std::basic_string<char,
> std::char_traits<char>, std::allocator<char> > const&,
> std::basic_string<char, std::char_traits<char>, std::allocator<char> >
> const&, int, int, void*)'
> ../../../../../trilinos-7.0.9/packages/epetraext/example/inout/HDF5_IO.cpp:145:
> undefined reference to `EpetraExt::HDF5::Read(std::basic_string<char,
> std::char_traits<char>, std::allocator<char> > const&,
> std::basic_string<char, std::char_traits<char>, std::allocator<char> >
> const&, int, int, void*)'
> ../../../../../trilinos-7.0.9/packages/epetraext/example/inout/HDF5_IO.cpp:149:
> undefined reference to `EpetraExt::HDF5::Read(std::basic_string<char,
> std::char_traits<char>, std::allocator<char> > const&,
> std::basic_string<char, std::char_traits<char>, std::allocator<char> >
> const&, std::basic_string<char, std::char_traits<char>,
> std::allocator<char> >&)'
> ../../../../../trilinos-7.0.9/packages/epetraext/example/inout/HDF5_IO.cpp:152:
> undefined reference to `EpetraExt::HDF5::Read(std::basic_string<char,
> std::char_traits<char>, std::allocator<char> > const&,
> Teuchos::ParameterList&)'
> ../../../../../trilinos-7.0.9/packages/epetraext/example/inout/HDF5_IO.cpp:122:
> undefined reference to `EpetraExt::HDF5::Read(std::basic_string<char,
> std::char_traits<char>, std::allocator<char> > const&,
> std::basic_string<char, std::char_traits<char>, std::allocator<char> >
> const&, int&)'
> ../../../../../trilinos-7.0.9/packages/epetraext/example/inout/HDF5_IO.cpp:124:
> undefined reference to `EpetraExt::HDF5::Read(std::basic_string<char,
> std::char_traits<char>, std::allocator<char> > const&, Epetra_Map
> const&, Epetra_Map const&, Epetra_CrsMatrix*&)'
> collect2: ld returned 1 exit status
> make[2]: *** [HDF5_IO.exe] Error 1
> make[2]: Leaving directory
> `/home/ryuta/Development/src/trilinos-7.0.9-build/packages/epetraext/example/inout'
> make[1]: *** [all-recursive] Error 1
> make[1]: Leaving directory
> `/home/ryuta/Development/src/trilinos-7.0.9-build/packages/epetraext/example'
>
>
> FYI:
>
> nm src/libepetraext.a | grep HDF5
> EpetraExt_HDF5.o:
> 00000070 t _GLOBAL__I__ZN9EpetraExt4HDF5C2ERK11Epetra_Comm
> 00000fc0 T _ZN9EpetraExt4HDF511IsContainedESs
> 00016bd0 T _ZN9EpetraExt4HDF517ReadMapPropertiesERKSsRiS3_S3_
> 00017b10 T _ZN9EpetraExt4HDF522ReadBlockMapPropertiesERKSsRiS3_S3_S3_
> 00015700 T _ZN9EpetraExt4HDF522ReadCrsGraphPropertiesERKSsRiS3_S3_S3_S3_
> 00013c00 T
> _ZN9EpetraExt4HDF523ReadCrsMatrixPropertiesERKSsRiS3_S3_S3_S3_RdS4_
> 00016090 T _ZN9EpetraExt4HDF523ReadIntVectorPropertiesERKSsRi
> 000208c0 T _ZN9EpetraExt4HDF525ReadMultiVectorPropertiesERKSsRiS3_
> 0001e420 T _ZN9EpetraExt4HDF526ReadIntDistArrayPropertiesERKSsRiS3_
> 0001bf80 T _ZN9EpetraExt4HDF529ReadDoubleDistArrayPropertiesERKSsRiS3_
> 00005250 T _ZN9EpetraExt4HDF54OpenESsi
> 000167f0 T _ZN9EpetraExt4HDF54ReadERKSsRK10Epetra_MapRP16Epetra_IntVector
> 000250b0 T
> _ZN9EpetraExt4HDF54ReadERKSsRK10Epetra_MapRP18Epetra_MultiVector
> 0001d720 T _ZN9EpetraExt4HDF54ReadERKSsRK10Epetra_MapRPNS_9DistArrayIdEE
> 0001fbc0 T _ZN9EpetraExt4HDF54ReadERKSsRK10Epetra_MapRPNS_9DistArrayIiEE
> 00014b30 T
> _ZN9EpetraExt4HDF54ReadERKSsRK10Epetra_MapS5_RP15Epetra_CrsGraph
> 00014540 T
> _ZN9EpetraExt4HDF54ReadERKSsRK10Epetra_MapS5_RP16Epetra_CrsMatrix
> 00026d00 T _ZN9EpetraExt4HDF54ReadERKSsRN7Teuchos13ParameterListE
> 00017400 T _ZN9EpetraExt4HDF54ReadERKSsRP10Epetra_Map
> 00018340 T _ZN9EpetraExt4HDF54ReadERKSsRP15Epetra_BlockMap
> 00015fb0 T _ZN9EpetraExt4HDF54ReadERKSsRP15Epetra_CrsGraph
> 00014a50 T _ZN9EpetraExt4HDF54ReadERKSsRP16Epetra_CrsMatrix
> 00016aa0 T _ZN9EpetraExt4HDF54ReadERKSsRP16Epetra_IntVector
> 00021e90 T _ZN9EpetraExt4HDF54ReadERKSsRP18Epetra_MultiVector
> 0001d550 T _ZN9EpetraExt4HDF54ReadERKSsRPNS_9DistArrayIdEE
> 0001f9f0 T _ZN9EpetraExt4HDF54ReadERKSsRPNS_9DistArrayIiEE
> 00003860 T _ZN9EpetraExt4HDF54ReadERKSsS2_RSs
> 00011a80 T _ZN9EpetraExt4HDF54ReadERKSsS2_Rd
> 00012b40 T _ZN9EpetraExt4HDF54ReadERKSsS2_Ri
> 00001e60 T _ZN9EpetraExt4HDF54ReadERKSsS2_iiPv
> 000000e0 T _ZN9EpetraExt4HDF54ReadERKSsS2_iiiPv
> 0001b6b0 T _ZN9EpetraExt4HDF55WriteERKSsRK10Epetra_Map
> 0001ba30 T _ZN9EpetraExt4HDF55WriteERKSsRK15Epetra_BlockMap
> 0001ab20 T _ZN9EpetraExt4HDF55WriteERKSsRK15Epetra_CrsGraph
> 0001b310 T _ZN9EpetraExt4HDF55WriteERKSsRK16Epetra_IntVector
> 00019f30 T _ZN9EpetraExt4HDF55WriteERKSsRK16Epetra_RowMatrix
> 00025190 T _ZN9EpetraExt4HDF55WriteERKSsRK18Epetra_MultiVector
> 000296c0 T _ZN9EpetraExt4HDF55WriteERKSsRKN7Teuchos13ParameterListE
> 0001dbc0 T _ZN9EpetraExt4HDF55WriteERKSsRKNS_9DistArrayIdEE
> 00020060 T _ZN9EpetraExt4HDF55WriteERKSsRKNS_9DistArrayIiEE
> 0000f280 T _ZN9EpetraExt4HDF55WriteERKSsS2_S2_
> 00018d40 T _ZN9EpetraExt4HDF55WriteERKSsS2_d
> 00019640 T _ZN9EpetraExt4HDF55WriteERKSsS2_i
> 00002f60 T _ZN9EpetraExt4HDF55WriteERKSsS2_iiPv
> 00001470 T _ZN9EpetraExt4HDF55WriteERKSsS2_iiiPKv
> 00005980 T _ZN9EpetraExt4HDF56CreateESs
> 000000c0 T _ZN9EpetraExt4HDF5C1ERK11Epetra_Comm
> 00000000 T _ZN9EpetraExt4HDF5C2ERK11Epetra_Comm
> EpetraExt_HDF5_DistObject.o:
> 00000050 t _GLOBAL__I__ZN9EpetraExt4HDF55WriteERKSsRKNS_6HandleE
> U _ZN9EpetraExt4HDF511IsContainedESs
> 00000070 T _ZN9EpetraExt4HDF520ReadHandlePropertiesERKSsRSsRi
> 00000ec0 T _ZN9EpetraExt4HDF54ReadERKSsRNS_6HandleE
> U _ZN9EpetraExt4HDF54ReadERKSsS2_RSs
> U _ZN9EpetraExt4HDF54ReadERKSsS2_Rd
> U _ZN9EpetraExt4HDF54ReadERKSsS2_Ri
> U _ZN9EpetraExt4HDF54ReadERKSsS2_iiiPv
> 00001d30 T _ZN9EpetraExt4HDF55WriteERKSsRKNS_6HandleE
> U _ZN9EpetraExt4HDF55WriteERKSsS2_S2_
> U _ZN9EpetraExt4HDF55WriteERKSsS2_d
> U _ZN9EpetraExt4HDF55WriteERKSsS2_i
> U _ZN9EpetraExt4HDF55WriteERKSsS2_iiiPKv
>
>
> ------------------------------------------------------------------------
>
> This body part will be downloaded on demand.
More information about the Trilinos-Users
mailing list