[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#834570: Sponsering request failed to build



2016-08-24 12:54 GMT+01:00 Andreas Tille <andreas@an3as.eu>:
Hi Ghislain,

when trying to build shark I get:

...
[ 42%] Building CXX object Test/CMakeFiles/Data_HDF5.dir/Data/HDF5Tests.cpp.o
cd /build/shark-3.1.1+ds1/obj-x86_64-linux-gnu/Test && /usr/bin/c++   -DBOOST_ALL_DYN_LINK -DBOOST_FILESYSTEM_VERSION=3 -DBOOST_PARAMETER_MAX_ARITY=15 -DBOOST_TEST_DYN_LINK -I/build/shark-3.1.1+ds1/include -I/build/shark-3.1.1+ds1/obj-x86_64-linux-gnu/include  -g -O2 -fdebug-prefix-map=/build/shark-3.1.1+ds1=. -fPIE -fstack-protector-strong -Wformat -Werror=format-security -Wall -pedantic -Wdate-time -D_FORTIFY_SOURCE=2  -fopenmp   -o CMakeFiles/Data_HDF5.dir/Data/HDF5Tests.cpp.o -c /build/shark-3.1.1+ds1/Test/Data/HDF5Tests.cpp
In file included from /build/shark-3.1.1+ds1/Test/Data/HDF5Tests.cpp:3:0:
/build/shark-3.1.1+ds1/include/shark/Data/HDF5.h:48:64: fatal error: hdf5.h: No such file or directory
 #include <hdf5.h> // This must come before #include <hdf5_hl.h>
                                                                ^
compilation terminated.
Test/CMakeFiles/Data_HDF5.dir/build.make:65: recipe for target 'Test/CMakeFiles/Data_HDF5.dir/Data/HDF5Tests.cpp.o' failed
make[3]: *** [Test/CMakeFiles/Data_HDF5.dir/Data/HDF5Tests.cpp.o] Error 1
make[3]: Leaving directory '/build/shark-3.1.1+ds1/obj-x86_64-linux-gnu'
CMakeFiles/Makefile2:4611: recipe for target 'Test/CMakeFiles/Data_HDF5.dir/all' failed
make[2]: *** [Test/CMakeFiles/Data_HDF5.dir/all] Error 2
make[2]: Leaving directory '/build/shark-3.1.1+ds1/obj-x86_64-linux-gnu'
Makefile:163: recipe for target 'all' failed

Kind regards

        Andreas.

--
http://fam-tille.de

Hmmm, interesting and somewhat scary.

It was working before, but before was with CMake v3.5.x until the 21st of August.

It seems that CMake v3.5.x -> v3.6.x broke the HDF5 detection in some subtle ways.
First the HDF5_INCLUDE_DIR variable does not work anymore. It is deprecated anyway,
so better patch this and provide upstream.

But even with this fixed, I now get linking errors, which means they really did change
something else. After a little digging, it seems they have truly separated the low and
high-level bindings in the CMake discovery and that HDF5_LIBRARIES should not be
used blindly anymore.

So if you are maintaining projects using CMake and relying on HDF5 detection, there could
be some troubles ahead.

I'll let you know once this is fixed.

Ghis

Reply to: