- changed status to open
- assigned issue to
- removed comment
HDF5 broken on Queen Bee
I see this output when building on Queen Bee with Simfactory's options:
CST error 1:
-> Configuration script for thorn HDF5 returned exit code 1
Error message: 'ERROR in HDF5 configuration:
H5pubconf.h not found in /work/eschnett/Cvanilla/configs/sim-debug/scratch/external/HDF5/lib /work/eschnett/Cvanilla/configs/sim-debug/scratch/externa\
l/HDF5/include /work/eschnett/Cvanilla/configs/sim-debug/scratch/external/HDF5/lib'
Additional requested language support: Fortran
HDF5 selected, but HDF5_DIR not set. Checking pkg-config ...
HDF5 not found. Checking standard paths ...
HDF5 not found.
Using bundled HDF5...
ERROR: ERROR in HDF5 configuration:
ERROR: H5pubconf.h not found in /work/eschnett/Cvanilla/configs/sim-debug/scratch/external/HDF5/lib /work/eschnett/Cvanilla/configs/sim-debug/scratch/\
external/HDF5/include /work/eschnett/Cvanilla/configs/sim-debug/scratch/external/HDF5/lib
Finished running configuration script for thorn HDF5.
Keyword: confirmed
Comments (14)
-
-
- marked as critical
- changed milestone to ET_2015_11
- removed comment
-
- removed comment
For reference: cases to be tested: - HDF5_DIR not specified, and usable system library present -> find and use - HDF5_DIR not specified, and usable system library not present -> build own and use that - HDF5_DIR set to BUILD -> build and use that, regardless of system libraries - HDF5_DIR set to specific location (anything else than BUILD) -> test that location (see if library is really there) - if yes: use that - if no: error out (or look for other usable library first?)
-
- removed comment
Replying to [comment:3 knarf]:
For reference: cases to be tested: - HDF5_DIR not specified, and usable system library present -> find and use - HDF5_DIR not specified, and usable system library not present -> build own and use that - HDF5_DIR set to BUILD -> build and use that, regardless of system libraries - HDF5_DIR set to specific location (anything else than BUILD) -> test that location (see if library is really there) - if yes: use that - if no: error out (or look for other usable library first?)
There is an important case missing: everything is specified explictly via HDF5_LIB_DIRS HDF5_INC_DIRS HDF5_LIBS (ie the "manual" option). This may or may not be triggered by setting HDF5_DIR to a special value, though right now I believe this is not required (may be nice though).
-
- removed comment
In my understanding, HDF5_DIR has to be set (and not to BUILD) for the other variables to be used (if set), and I implemented it that way.
-
- changed status to resolved
- removed comment
Closing the ticket as it now works on queenbee (and should everywhere if nothing was specified and nothing was found).
-
reporter - removed comment
In addition to a directory or {BUILD}, the directory can also be set to {NO_BUILD}.
-
reporter - removed comment
If {HDF5_DIR} is set to a directory, then no special testing takes place. Presumably the user knows what he/she is doing. If you want to test, then the result of the test should be a warning at most. The result of such a test should not (read: currently does not, and thing may break if this is changed) influence what happens.
{HDF5_INCLUDE_DIRS} can be set explicitly and override what would be deduced from {HDF5_DIR}.
-
reporter - removed comment
For the record: I see Edison, Mike and Stampede broken as well. Frank, you should have access to Mike and Stampede for testing.
-
- removed comment
I did test on Mike and Stampede, but recent changes might have changed something. Rerunning now.
-
- removed comment
I believe that with Debian/Ubuntu and their multi-arch features the replacement
HDF5_LIB_DIRS="${HDF5_DIR}/lib"
can no longer be used and instead one has to use
HDF5_LIB_DIRS="${HDF5_DIR}/$(gcc -dumpmachine)/lib"
(see https://trac.einsteintoolkit.org/attachment/ticket/1769/hdf5_dumpmachine.patch) which of course assumes that (a) gcc exists and (b) will break on "normal" non-multiarch OS (ie OSX and older or non-Debian based Linux).
It ''may'' be useful to still check that the given directory exists and/or that libhdf5 is found in there. Otherwise the linker will silently fall back to a possibly existing system HDF5 library. This is strictly and ''extra'' though since the current code certainly does not do so.
-
- removed comment
Debian/Ubuntu use pkg-config for their libraries, so that we don't need to check for these paths at all - we can just ask for them.
-
- removed comment
Replying to [comment:9 eschnett]:
For the record: I see Edison, Mike and Stampede broken as well. Frank, you should have access to Mike and Stampede for testing.
Please attach a log of your build errors on Mike and Stampede, and even Edison. Both build fine for me (the bundled version, as requested in the option lists.)
-
- removed comment
Replying to [comment:9 eschnett]:
For the record: I see Edison, Mike and Stampede broken as well. Frank, you should have access to Mike and Stampede for testing.
Can you please upload build logs? I see Mike and Stampede building the bundled versions as they should.
- Log in to comment