hdf5
hdf5 copied to clipboard
1.10.7: parallel MPI: CMake: failed to compile ph5diff
HDF5 builds with MPI almost completely except for ph5diff
, on CentOS 8 with either GCC 8.5 or Intel oneAPI 2021.3.
One change I made is adding the line to "src/HDF5/tools/src/h5diff/ph5diff_main.c":
include "mpi.h"
Which fixes missing MPI_COMM_WORLD errors.
However I am left with linker error:
CMakeFiles/ph5diff.dir/ph5diff_main.c.o: In function `h5diff_exit':
ph5diff_main.c:(.text+0x12a): undefined reference to `phdiff_dismiss_workers'
command line on CentOS 8 machine is below.
The -Wl,-rpath,"\$ORIGIN/../lib:\$ORIGIN/"
seems to not be taking effect--this seems to be a key clue.
/usr/bin/cc -std=c99 -fstdarg-opt -w -fmessage-length=0 -O3 -DNDEBUG -Wl,-rpath -Wl,/usr/lib64/openmpi/lib -Wl,--enable-new-dtags -L/usr/lib64/openmpi/lib CMakeFiles/ph5diff.dir/h5diff_common.c.o CMakeFiles/ph5diff.dir/ph5diff_main.c.o -o ../../../bin/ph5diff -Wl,-rpath,"\$ORIGIN/../lib:\$ORIGIN/" ../../../bin/libhdf5_tools.a ../../../bin/libhdf5.a /usr/lib64/openmpi/lib/libmpi.so -lm -ldl /usr/lib64/libz.so -ldl /usr/lib64/libz.so /usr/lib64/openmpi/lib/libmpi.so