PICLas is a parallel, three-dimensional PIC-DSMC solver developed cooperatively by the Institute of Space Systems, Institute of Aerodynamics and Gas Dynamics at the University of Stuttgart and the spin-off boltzplatz. PICLas is a flexible particle-based plasma simulation suite.
Building piclas with LIBS_BUILD_HDF5 and LIBS_BUILD_HOPR throws an error if no HDF5 is installed.
The system is a fresh Ubuntu 22.04 with the installed apt-packages mentioned in the documentation. Tried to build HDF5 and hopr with the build of piclas. The stdout for the building of hopr is attached below.
If HDF5 is installed the hopr installation crashes during the CGNS building step, independent from the cmake flag LIBS_BUILD_HDF5. The stdout is also attached at the end. It seems like this is an MPI related issue.
STDOUTs
without hdf5 installed during the hopr build
[ 98%] No patch step for 'HOPR'
[ 98%] Performing configure step for 'HOPR'
-- stdout output is:
-- Setting linker to gold v1.16
-- The Fortran compiler identification is GNU 11.3.0
-- The C compiler identification is GNU 11.3.0
-- Detecting Fortran compiler ABI info
-- Detecting Fortran compiler ABI info - done
-- Check for working Fortran compiler: /usr/bin/f95 - skipped
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /usr/bin/cc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Compiling on a generic machine
-- Compiling using [-march=native] instruction
-- The CXX compiler identification is GNU 11.3.0
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/c++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Found GCC binutils wrappers for LTO. Enabling LTO linker plugin.
-- Could NOT find HDF5 (missing: HDF5_LIBRARIES HDF5_INCLUDE_DIRS C Fortran) (found version "")
-- Found HDF5 Libs: HDF5_hdf5_LIBRARY-NOTFOUNDHDF5_hdf5_fortran_LIBRARY-NOTFOUNDHDF5_hdf5_LIBRARY-NOTFOUND
-- Looking for Fortran sgemm
-- Looking for Fortran sgemm - not found
-- Looking for pthread.h
-- Looking for pthread.h - found
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Success
-- Found Threads: TRUE
-- Looking for Fortran sgemm
-- Looking for Fortran sgemm - found
-- Looking for Fortran cheev
-- Looking for Fortran cheev - not found
-- Looking for Fortran cheev
-- Looking for Fortran cheev - not found
-- Looking for Fortran cheev
-- Looking for Fortran cheev - found
-- Using system BLAS/Lapack library
-- Compiling CGNS version tag: v4.3.0
-- Build CGNS library with -DCGNS_ENABLE_HDF5=ON
-- Executing unit tests with 8 processes
-- Executing build tests with 8 processes
-- Configuring done
-- Generating done
-- stderr output is:
CMake Error: The following variables are used in this project, but they are set to NOTFOUND.
Please set them or make sure they are set and tested correctly in the CMake files:
HDF5_hdf5_LIBRARY
linked by target "hopr" in directory /home/piclas/piclas/share/GNU-MPI/hopr/build/src/HOPR
linked by target "hopr" in directory /home/piclas/piclas/share/GNU-MPI/hopr/build/src/HOPR
linked by target "ReadInTools" in directory /home/piclas/piclas/share/GNU-MPI/hopr/build/src/HOPR
linked by target "ReadInTools" in directory /home/piclas/piclas/share/GNU-MPI/hopr/build/src/HOPR
linked by target "MatrixInverse" in directory /home/piclas/piclas/share/GNU-MPI/hopr/build/src/HOPR
linked by target "MatrixInverse" in directory /home/piclas/piclas/share/GNU-MPI/hopr/build/src/HOPR
HDF5_hdf5_fortran_LIBRARY
linked by target "hopr" in directory /home/piclas/piclas/share/GNU-MPI/hopr/build/src/HOPR
linked by target "ReadInTools" in directory /home/piclas/piclas/share/GNU-MPI/hopr/build/src/HOPR
linked by target "MatrixInverse" in directory /home/piclas/piclas/share/GNU-MPI/hopr/build/src/HOPR
CMake Generate step failed. Build files cannot be regenerated correctly.
with HDF5 installed in the hopr build
[ 97%] Creating directories for 'HOPR'
[ 97%] Performing download step (git clone) for 'HOPR'
Cloning into 'HOPR'...
HEAD is now at d6fb2b0 Merge pull request #25 from hopr-framework/update.installation.docu.hdf5
[ 98%] No patch step for 'HOPR'
[ 98%] Performing configure step for 'HOPR'
-- HOPR configure command succeeded. See also /home/piclas/piclas/share/GNU-MPI/hopr/build/src/HOPR-stamp/HOPR-configure-*.log
[ 99%] Performing build step for 'HOPR'
CMake Error at /home/piclas/piclas/share/GNU-MPI/hopr/build/src/HOPR-stamp/HOPR-build-Release.cmake:37 (message):
Command failed: 2
'make'
See also
/home/piclas/piclas/share/GNU-MPI/hopr/build/src/HOPR-stamp/HOPR-build-*.log
-- stdout output is:
[ 5%] Building C object CMakeFiles/hoprlibC.dir/src/sfc/hilbert.c.o
[ 5%] Building C object CMakeFiles/stacksizelib.dir/src/stacksize.c.o
[ 5%] Creating directories for 'cgns'
[ 5%] Building C object CMakeFiles/hoprlibC.dir/src/sfc/evalhilbert.c.o
[ 7%] Linking C static library lib/libstacksizelib.a
[ 7%] Built target stacksizelib
[ 8%] Performing download step (git clone) for 'cgns'
[ 8%] Built target hoprlibC
[ 10%] Performing update step for 'cgns'
[ 11%] No patch step for 'cgns'
[ 13%] Performing configure step for 'cgns'
-- The C compiler identification is GNU 11.3.0
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /usr/bin/cc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Looking for sys/types.h
-- Looking for sys/types.h - found
-- Looking for stdint.h
-- Looking for stdint.h - found
-- Looking for stddef.h
-- Looking for stddef.h - found
-- Check size of long
-- Check size of long - done
-- Check size of off_t
-- Check size of off_t - done
-- The Fortran compiler identification is GNU 11.3.0
-- Detecting Fortran compiler ABI info
-- Detecting Fortran compiler ABI info - done
-- Check for working Fortran compiler: /usr/bin/gfortran - skipped
-- Detecting Fortran/C Interface
-- Detecting Fortran/C Interface - Found GLOBAL and MODULE mangling
-- Fortran name mangling convention: LOWERCASE_
-- HDF5 find comps: C;static
-- Could NOT find HDF5 (missing: HDF5_DIR)
-- HDF5 C libs:0 static: and shared:
-- Found HDF5: /home/user/hdf5/1.14.0/lib/libhdf5.a;/usr/lib/x86_64-linux-gnu/libz.so;/usr/lib/x86_64-linux-gnu/libdl.a;/usr/lib/x86_64-linux-gnu/libm.so (found version "1.14.0")
-- HDF5-1.14.0 found: INC=/home/user/hdf5/1.14.0/include;/home/piclas/hdf5-1.14.0/src/H5FDsubfiling TOOLS=/../bin HDF5_BUILD_SHARED_LIBS=0
-- HDF5 link libs: /home/user/hdf5/1.14.0/lib/libhdf5.a;/usr/lib/x86_64-linux-gnu/libz.so;/usr/lib/x86_64-linux-gnu/libdl.a;/usr/lib/x86_64-linux-gnu/libm.so
-- Checking C compiler flag -std=gnu99
-- Performing Test std-gnu99
-- Performing Test std-gnu99 - Success
-- Testing Fortran Fortran2003 - OK
-- Testing Fortran Fortran2008TS - OK
-- Testing Fortran Fortran2008 - OK
-- Testing Fortran Sizeof_int - OK
-- Testing Fortran FortranConcat - Fail
-- Testing HDF5 Multi_Dataset - NOT FOUND
-- Testing HDF5 Collective_metadata - NOT FOUND
-- Testing HDF5 H5Pset_file_space_strategy - NOT FOUND
-- Performing Test CHECK_HAVE_STAT64_STRUCT
-- Performing Test CHECK_HAVE_STAT64_STRUCT - Failed
-- Configuring done
-- Generating done
-- Build files have been written to: /home/piclas/piclas/share/GNU-MPI/hopr/build/src/HOPR/share/GNU/CGNSv4.3.0/src/cgns-build
[ 14%] Performing build step for 'cgns'
Scanning dependencies of target cgns_f2c
[ 3%] Building Fortran object src/CMakeFiles/cgns_f2c.dir/cgns_f.F90.o
[ 3%] Built target cgns_f2c
[ 19%] Building C object src/CMakeFiles/cgns_static.dir/cgns_internals.c.o
[ 19%] Building C object src/CMakeFiles/cgns_static.dir/cgnslib.c.o
[ 19%] Building C object src/CMakeFiles/cgns_static.dir/cgns_error.c.o
[ 19%] Building C object src/CMakeFiles/cgns_static.dir/cg_hashmap.c.o
[ 19%] Building C object src/CMakeFiles/cgns_static.dir/cgns_io.c.o
[ 25%] Building C object src/CMakeFiles/cgns_static.dir/adf/ADF_internals.c.o
[ 29%] Building C object src/CMakeFiles/cgns_static.dir/cgio_ftoc.c.o
[ 29%] Building C object src/CMakeFiles/cgns_static.dir/adf/ADF_interface.c.o
[ 32%] Building C object src/CMakeFiles/cgns_static.dir/adfh/ADFH.c.o
[ 35%] Building C object src/CMakeFiles/cgns_static.dir/cg_ftoc.c.o
-- stderr output is:
...skipping to end...
remote: Total 11845 (delta 992), reused 1220 (delta 794), pack-reused 10368
Receiving objects: 100% (11845/11845), 19.26 MiB | 18.09 MiB/s, done.
Resolving deltas: 100% (8641/8641), done.
HEAD is now at ec538ac add 4.3.0 release to version list
In file included from /home/user/hdf5/1.14.0/include/hdf5.h:21,
from /home/piclas/piclas/share/GNU-MPI/hopr/build/src/HOPR/share/GNU/CGNSv4.3.0/src/cgns/src/cgnslib.c:58:
/home/user/hdf5/1.14.0/include/H5public.h:65:10: fatal error: mpi.h: No such file or directory
65 | #include <mpi.h>
| ^~~~~~~
compilation terminated.
make[8]: *** [src/CMakeFiles/cgns_static.dir/build.make:118: src/CMakeFiles/cgns_static.dir/cgnslib.c.o] Error 1
make[8]: *** Waiting for unfinished jobs....
In file included from /home/user/hdf5/1.14.0/include/hdf5.h:21,
from /home/piclas/piclas/share/GNU-MPI/hopr/build/src/HOPR/share/GNU/CGNSv4.3.0/src/cgns/src/cgns_internals.c:40:
/home/user/hdf5/1.14.0/include/H5public.h:65:10: fatal error: mpi.h: No such file or directory
65 | #include <mpi.h>
| ^~~~~~~
compilation terminated.
make[8]: *** [src/CMakeFiles/cgns_static.dir/build.make:90: src/CMakeFiles/cgns_static.dir/cgns_internals.c.o] Error 1
In file included from /home/user/hdf5/1.14.0/include/hdf5.h:21,
from /home/piclas/piclas/share/GNU-MPI/hopr/build/src/HOPR/share/GNU/CGNSv4.3.0/src/cgns/src/adfh/ADFH.c:42:
/home/user/hdf5/1.14.0/include/H5public.h:65:10: fatal error: mpi.h: No such file or directory
65 | #include <mpi.h>
| ^~~~~~~
compilation terminated.
make[8]: *** [src/CMakeFiles/cgns_static.dir/build.make:174: src/CMakeFiles/cgns_static.dir/adfh/ADFH.c.o] Error 1
make[7]: *** [CMakeFiles/Makefile2:180: src/CMakeFiles/cgns_static.dir/all] Error 2
make[6]: *** [Makefile:156: all] Error 2
make[5]: *** [CMakeFiles/cgns.dir/build.make:86: /home/piclas/piclas/share/GNU-MPI/hopr/build/src/HOPR/share/GNU/CGNSv4.3.0/src/cgns-stamp/cgns-build] Error 2
make[4]: *** [CMakeFiles/Makefile2:101: CMakeFiles/cgns.dir/all] Error 2
make[3]: *** [Makefile:146: all] Error 2
CMake Error at /home/piclas/piclas/share/GNU-MPI/hopr/build/src/HOPR-stamp/HOPR-build-Release.cmake:47 (message):
Stopping after outputting logs.
make[2]: *** [CMakeFiles/HOPR.dir/build.make:85: ../share/GNU-MPI/hopr/build/src/HOPR-stamp/HOPR-build] Error 1
make[1]: *** [CMakeFiles/Makefile2:175: CMakeFiles/HOPR.dir/all] Error 2
make: *** [Makefile:146: all] Error 2
Building piclas with LIBS_BUILD_HDF5 and LIBS_BUILD_HOPR throws an error if no HDF5 is installed.
The system is a fresh Ubuntu 22.04 with the installed apt-packages mentioned in the documentation. Tried to build HDF5 and hopr with the build of piclas. The stdout for the building of hopr is attached below. If HDF5 is installed the hopr installation crashes during the CGNS building step, independent from the cmake flag LIBS_BUILD_HDF5. The stdout is also attached at the end. It seems like this is an MPI related issue.
STDOUTs
without hdf5 installed during the hopr build
with HDF5 installed in the hopr build