[Trilinos-Users] hdf5

Eric Bavier bavier at cray.com
Fri Nov 10 13:53:17 EST 2017


Hi Elek,

You’ll need to give cmake more of the libraries for netcdf.  I use

  -D TPL_ENABLE_Netcdf:BOOL=ON \
  -D TPL_Netcdf_INCLUDE_DIRS:FILEPATH=${NETCDF_DIR}/include \
  -D Netcdf_LIBRARY_DIRS:FILEPATH=”${NETCDF_DIR}/lib;${HDF5_DIR}/lib” \
  -D Netcdf_LIBRARY_NAMES:STRING=”netcdf_parallel;hdf5_hl_parallel;hdf5_parallel;z;dl”

The hdf5 libraries need to be included because cmake does not know about netcdf’s dependency on hdf5.

Eric Bavier, Scientific Libraries, Cray Inc.

From: Eligiusz Postek [mailto:ewpostek at googlemail.com]
Sent: Friday, November 10, 2017 12:33 PM
To: Eric Bavier
Cc: trilinos-users at trilinos.org
Subject: Re: [Trilinos-Users] hdf5

Thank you,  HDF5 passed,
but I still have a problem with netcdf

[ 35%] Building Fortran object packages/seacas/applications/gjoin/CMakeFiles/gjoin.dir/gj_zmfixd.f.o
[ 35%] Building Fortran object packages/seacas/libraries/plt/CMakeFiles/plt.dir/pltrsd.f.o
/opt/cray/netcdf-hdf5parallel/4.4.0/GNU/5.1/lib/libnetcdf_parallel.a(libnetcdf4_la-nc4file.o): In function `sync_netcdf4_file':
/b/ulib/netcdf-support/rpm/BUILD/cray-netcdf-4.4.0-gcc2/netcdf-4.4.0/libsrc4/nc4file.c:3006: undefined reference to `H5Fflush'
/opt/cray/netcdf-hdf5parallel/4.4.0/GNU/5.1/lib/libnetcdf_parallel.a(libnetcdf4_la-nc4file.o): In function `close_netcdf4_file':
/b/ulib/netcdf-support/rpm/BUILD/cray-netcdf-4.4.0-gcc2/netcdf-4.4.0/libsrc4/nc4file.c:3090: undefined reference to `H5Fclose'
/b/ulib/netcdf-support/rpm/BUILD/cray-netcdf-4.4.0-gcc2/netcdf-4.4.0/libsrc4/nc4file.c:3094: undefined reference to `H5Fget_obj
and ......

I use
 -D TPL_ENABLE_Netcdf:BOOL=ON
-D Netcdf_LIBRARY_DIRS:FILEPATH="/opt/cray/netcdf-hdf5parallel/4.4.0/GNU/5.1/lib" \
-D Netcdf_INCLUDE_DIRS::FILEPATH="/opt/cray/netcdf-hdf5parallel/4.4.0/GNU/5.1/include" \
-D Netcdf_LIBRARY_NAMES:STRING="netcdf_parallel" \
Could you still help ?
Best regards,
Elek




On Fri, Nov 10, 2017 at 4:13 PM, Eric Bavier <bavier at cray.com<mailto:bavier at cray.com>> wrote:
Hello Elek,

The 'H5Tget_tag' symbol is defined in libhdf5.a, so you'll need to make sure that the HDF5 TPL includes that library when configuring.  FWIW when I build Trilinos with cray-hdf5, I usually set:

  -D TPL_ENABLE_HDF5:BOOL=ON \
  -D TPL_HDF5_INCLUDE_DIRS:FILEPATH=${HDF5_DIR}/include \
  -D HDF5_LIBRARY_DIRS:FILEPATH=${HDF5_DIR}/lib \
  -D HDF5_LIBRARY_NAMES:STRING="hdf5_hl_parallel;hdf5_parallel;z;dl"

Hope that helps,

Eric Bavier, Scientific Libraries, Cray Inc.

________________________________________
From: Trilinos-Users <trilinos-users-bounces at trilinos.org<mailto:trilinos-users-bounces at trilinos.org>> on behalf of Eligiusz Postek <ewpostek at googlemail.com<mailto:ewpostek at googlemail.com>>
Sent: Thursday, November 9, 2017 18:35
To: trilinos-users at trilinos.org<mailto:trilinos-users at trilinos.org>
Subject: [Trilinos-Users] hdf5

Hello,
Could it mean that the cray libs (hdf5) are incomplete ?
Is there any other error ?
best regards, Elek


[ 34%] Building CXX object packages/teuchos/parameterlist/src/CMakeFiles/teuchosparameterlist.dir/Teuchos_StringInputStream.cpp.o
/opt/cray/hdf5/1.8.16/GNU/5.1/lib/libhdf5.a(H5PL.o): In function `H5PL_load':
H5PL.c:(.text+0x634): warning: Using 'dlopen' in statically linked applications requires at runtime the shared libraries from the glibc version used for linking
/opt/cray/hdf5/1.8.16/GNU/5.1/lib/libhdf5_hl.a(H5LT.o): In function `H5LT_dtype_to_text':
H5LT.c:(.text+0x2871): undefined reference to `H5Tget_tag'
/opt/cray/hdf5/1.8.16/GNU/5.1/lib/libhdf5_hl.a(H5LTparse.o): In function `H5LTyyparse':
H5LTparse.c:(.text+0x108d): undefined reference to `H5Tset_tag'
collect2: error: ld returned 1 exit status
make[2]: *** [packages/seacas/applications/nem_slice/nem_slice] Error 1

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://trilinos.org/pipermail/trilinos-users/attachments/20171110/d25bbbe2/attachment.html>


More information about the Trilinos-Users mailing list