Unable to install hdf5 parallel using cmake


#1

I downloaded the latest hdf5 version with cmake (https://www.hdfgroup.org/downloads/hdf5/source-code/#) . I needed to enable parallel, so I added

set(ADD_BUILD_OPTIONS “${ADD_BUILD_OPTIONS} -DHDF5_ENABLE_PARALLEL:BOOL=ON”)
set(ADD_BUILD_OPTIONS “${ADD_BUILD_OPTIONS} -DMPIEXEC_MAX_NUMPROCS:STRING=4”)

these lines to my HDF5options.cmake file. Now I ran the shell script by

bash build-unix.sh

I get the following :

Run dashboard with model Experimental
Source directory: /home/gsabhishek/Documents/Installations/CMake-hdf5-1.10.3/CMake-hdf5-1.10.3/hdf5-1.10.3
Build directory: /home/gsabhishek/Documents/Installations/CMake-hdf5-1.10.3/CMake-hdf5-1.10.3/build
Track: Experimental
Reading ctest configuration file: /home/gsabhishek/Documents/Installations/CMake-hdf5-1.10.3/CMake-hdf5-1.10.3/hdf5-1.10.3/CTestConfig.cmake
Site: dendrite
Build name: Linux-4.15.0-33-generic-x86_64
Use Experimental tag: 20180902-0108
Configure project
Each . represents 1024 bytes of output
… Size of output: 13K
Error(s) when configuring the project
Build project
Each symbol represents 1024 bytes of output.
‘!’ represents an error and ‘*’ a warning.
! Size of output: 0K
Error(s) when building project
1 Compiler errors
1 Compiler warnings
Test project /home/gsabhishek/Documents/Installations/CMake-hdf5-1.10.3/CMake-hdf5-1.10.3/build
No tests were found!!!

Please help me through this

thanks


#2

We would need to see the configure output to see the cause of the configure error.
Check build/Testing/Temporary/LastConfigure***.log file.


#3

LastConfigure_20180902-0108.log (13.7 KB)
HDF5options.cmake (4.5 KB)

Please find attatched the files
The error goes as,
CMake Error at CMakeLists.txt:857 (message):
**** Parallel and C++ options are mutually exclusive ****


#4

Unfortunately, unless you look into the build code in CMakeLists.txt or configure.ac, you will not find what are the unsupported options.

The high-level, C++, Fortran and Java interfaces are not compatible

with the thread-safety option because the lock is not hoisted into the higher-level API calls.

The parallel option is not compatible with C++

The parallel option is not compatible with Java

The parallel option is not incompatible with thread-safety

So you must turn off those options or enable the unsupported option. The thread-safety option should already be disabled by default.

For CMake add:
set (ADD_BUILD_OPTIONS “${ADD_BUILD_OPTIONS} -DHDF5_BUILD_CPP_LIB:BOOL=OFF”)
set (ADD_BUILD_OPTIONS “${ADD_BUILD_OPTIONS} -DHDF5_BUILD_JAVA:BOOL=OFF”)
set (ADD_BUILD_OPTIONS “${ADD_BUILD_OPTIONS} -DHDF5_ENABLE_THREADSAFE:BOOL=OFF”)

Allen


#5

This solved it…
Thanks a lot