[CMake] cmake 3.6.2 FindHDF5.cmake trouble finding parallel version
Christophe Trophime
christophe.trophime at lncmi.cnrs.fr
Tue Oct 18 07:47:45 EDT 2016
Hi,
I'm experiencing troubles with cmake 3.6.2 and FindHDF5.cmake module in Debian/Testing.
I'm trying to build med-fichier and gmsh for instance.
The main CMakeList.txt contains:
find_package(HDF5 COMPONENTS C)
MESSAGE("HDF5_C_INCLUDE_DIR=${HDF5_C_INCLUDE_DIR}")
MESSAGE("HDF5_CXX_INCLUDE_DIR=${HDF5_CXX_INCLUDE_DIR}")
MESSAGE("HDF5_INCLUDE_DIR=${HDF5_INCLUDE_DIR}")
MESSAGE("HDF5_INCLUDE_DIRS=${HDF5_INCLUDE_DIRS}")
MESSAGE("HDF5_LIBRARIES=${HDF5_LIBRARIES}")
MESSAGE("HDF5_C_LIBRARIES=${HDF5_C_LIBRARIES}")
For those two using something like cmake .. -DHDF5_PREFER_PARALLEL:BOOL=ON to force the use of the mpi version
I end up with error like that:
-- HDF5: Using hdf5 compiler wrapper to determine C configuration
-- Could NOT find HDF5 (missing: HDF5_LIBRARIES HDF5_INCLUDE_DIRS HDF5_HL_LIBRARIES)
HDF5_C_INCLUDE_DIR=HDF5_C_INCLUDE_DIR-NOTFOUND
HDF5_CXX_INCLUDE_DIR=HDF5_CXX_INCLUDE_DIR-NOTFOUND
HDF5_INCLUDE_DIR=
HDF5_INCLUDE_DIRS=HDF5_C_INCLUDE_DIR-NOTFOUND;HDF5_CXX_INCLUDE_DIR-NOTFOUND
HDF5_LIBRARIES=/usr/lib/x86_64-linux-gnu/hdf5/openmpi/libhdf5.so;/usr/lib/x86_64-linux-gnu/libsz.so;/usr/lib/x86_64-linux-gnu/libz.so;/usr/lib/x86_64-linux-gnu/libdl.so;/usr/lib/x86_64-linux-gnu/libm.so;HDF5_hdf5_LIBRARY-NOTFOUND;HDF5_hdf5_cpp_LIBRARY-NOTFOUND;HDF5_hdf5_LIBRARY-NOTFOUND
HDF5_C_LIBRARIES=/usr/lib/x86_64-linux-gnu/hdf5/openmpi/libhdf5.so;/usr/lib/x86_64-linux-gnu/libsz.so;/usr/lib/x86_64-linux-gnu/libz.so;/usr/lib/x86_64-linux-gnu/libdl.so;/usr/lib/x86_64-linux-gnu/libm.so;HDF5_hdf5_LIBRARY-NOTFOUND
-- HDF5 not found
whereas hdf5 is installed!!
I also tried to see what happens in FindHDF5.cmake by printing some additionnal messages:
-- HDF5: Using hdf5 compiler wrapper to determine C configuration
HDF5_C_INCLUDE_DIRS = /usr/include/hdf5/openmpi;/usr/include/hdf5/openmpi
HDF5_C_DEFINITIONS =-D_LARGEFILE64_SOURCE;-D_LARGEFILE_SOURCE;-D_FORTIFY_SOURCE=2;-D_LARGEFILE64_SOURCE;-D_LARGEFILE_SOURCE;-D_FORTIFY_SOURCE=2
HDF5_C_LIBRARY_DIRS = /usr/lib/x86_64-linux-gnu/hdf5/openmpi
HDF5_C_LIBRARY_NAMES = hdf5;sz;z;dl;m
HDF5_C_HL_LIBRARY_NAMES = hdf5_hl
HDF5_C_HL_LIBRARIES = /usr/lib/x86_64-linux-gnu/hdf5/openmpi/libhdf5_hl.so
HDF5_C_IS_PARALLEL=TRUE
HDF5_IS_PARALLEL=FALSE
CMake Warning at /usr/share/cmake-3.6/Modules/FindHDF5.cmake:613 (message):
HDF5 found for language C is parallel but previously found language is not
parallel.
Call Stack (most recent call first):
CMakeLists.txt:853 (find_package)
It seems to me that HDF5_IS_PARALLEL is never set before...
Is there a proper new way to find hdf5 with cmake?
What is the problem with my actual way of doing it?
Thanks for any help
Best
Christophe TROPHIME
Research Engineer
CNRS - LNCMI
25, rue des Martyrs
BP 166
38042 GRENOBLE Cedex 9
FRANCE
Tel : +33 (0)4 76 88 90 02
Fax : +33 (0) 4 76 88 10 01
Office U 19
M at il : christophe.trophime at lncmi.cnrs.fr
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://public.kitware.com/pipermail/cmake/attachments/20161018/45077814/attachment-0001.html>
More information about the CMake
mailing list