Hello,
I usually compile the HDF5 library with the commands:
./configure --prefix=${INSTALL} --enable-fortran --enable-trace
--enable-parallel
make
make install
and I get in particular the compiler wrappers h5fpc and h5pc. No problem with
this method.
I have to use CMake now for the same results and here are the options used,
with the same sources (hdf5-1.8.8):
cmake -DCMAKE_INSTALL_PREFIX:STRING=${INSTALL} \
-DCMAKE_C_COMPILER:FILEPATH=/usr/local/openmpi/1.5.3-intel/bin/mpicc \
-DCMAKE_CXX_COMPILER:FILEPATH=/usr/local/openmpi/1.5.3-intel/bin/mpiCC \
-DCMAKE_Fortran_COMPILER:FILEPATH=/usr/local/openmpi/1.5.3-intel/bin/mpif90 \
-DBUILD_TESTING:BOOL=ON
-DMPI_LIBRARY:FILEPATH=/usr/local/openmpi/1.5.3-intel/lib/libmpi.so \
-DMPI_INCLUDE_PATH:STRING=/usr/local/openmpi/1.5.3-intel/include/ \
-DHDF5_BUILD_FORTRAN:BOOL=ON \
-DHDF5_BUILD_HL_LIB:BOOL=ON \
-DHDF5_BUILD_TOOLS:BOOL=ON \
-DHDF5_ENABLE_PARALLEL:BOOL=ON \
-DHDF5_ENABLE_Z_LIB_SUPPORT:BOOL=ON \
-DMPIEXEC_NUMPROC_FLAG:STRING=-np \
-DMPIEXEC_MAX_NUMPROCS:STRING=4096 \
\"-DMPIEXEC_PREFLAGS:STRING=-N 1 -d 1\" \
-DMPIEXEC:FILEPATH=/usr/local/openmpi/1.5.3-intel/bin/mpirun ..
Here come the problems:
- The different libraries are not of the same size (i.e., libhdf5.a has 19M
with configure method and 8.4M with the other)
- There are not the compiler wrappers anymore for helping me
- I get a lot of undefined reference messages related to the hdf5 lib
- ctest failed on parallel stuffs...
Why those two compilation methods produce different results? I mean, what did I
do wrong with CMake?
I thought that CMake should only prepare the Makefiles... I have learned things
about CMake to understand what happens... not so easy!
Does anyone else use CMake and get the compiler wrappers?
Best,
Stephane
_______________________________________________
Hdf-forum is for HDF software users discussion.
[email protected]
http://mail.hdfgroup.org/mailman/listinfo/hdf-forum_hdfgroup.org