sst-core icon indicating copy to clipboard operation
sst-core copied to clipboard

building core with HDF5 with g++ 11.4.0 is broken

Open harvv opened this issue 1 year ago • 1 comments

1 - Detailed description of problem or enhancement

on Ubuntu 22.04, using gcc/g++ 11.4.0, there doesn't seem to be any combination of compilation flags to get sst-core's configure to recognize a valid libhdf5_cpp. (version 13.0.0. of sstcore)

NOTE: THIS WORKS WITHOUT ISSUE ON Compiler Version : Apple clang version 14.0.0 (clang-1400.0.29.202)

2 - Describe how to reproduce the issue

i. Build the HDF5 library with --enable-cxx passed to configure. If using any version higher that hdf5 1.10, then also pass ----enable-deprecated-symbols and --with-default-api-version=v110 ii. make the newly build libhdf5 and libhdf5_cpp libraries discoverable (ldconfig, or other ways). Make sure that there are no other hdf5 being picked up iii. try and configure sst-core 13.0.0 --with-hdf5=(path to built library)

Observe configure find the HDF5 includes and successfully open the hdf5 lib: checking H5Cpp.h usability... yes checking H5Cpp.h presence... yes checking for H5Cpp.h... yes checking for H5F_open in -lhdf5... yes

Observe it fail to link to the C++ lib: checking "For C++ ABI compatibility with HDF5Cpp library"... no checking for hdf5 library... no

I tried this with both hdf5 1.10 and hdf5 1.14 with the "api flag" and in all cases it fails to link during configure's test

On Mac Monterey, with 14.0.0 clang, hdf5 1.14 with the "api flag" set to v110 has no problems in sst-core's configure

3 - What Operating system(s) and versions

Ubuntu 22.04, using gcc/g++ 11.4.0

4 - What version of external libraries (MPI, etc.)

both hdf5 1.10.5 (as recommended by the SST release notes, etc) and a newer hdf5 1.14.1 (*with proper --with-default-api-version=v110 configure flag set)

5 - Provide sha1 of all relevant SST repositories (sst-core, sst-elements, etc)

using release tarball of sst-core 13.0.0 eaa2b06981631232cd2c22f405a61aa3fb0f1a5c sstcore-13.0.0.tar.gz

harvv avatar Oct 04 '23 21:10 harvv

additional note: In the 13.0.0 Release notes ( http://sst-simulator.org/SSTPages/SSTmicroRelease_V13dot0dot0/ ), Optional components lists "HDF5 1.10.5 or greater" . This is not strictly correct, as the API in HDF5 changed after version 1.10 ( see https://confluence.hdfgroup.org/display/HDF5/Migrating+from+HDF5+1.10+to+HDF5+1.12 ). In order to use hdf5 >1.10 with SST, the hdf5 library must be manually built with certain options

harvv avatar Oct 04 '23 22:10 harvv