Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Catch2 Issue (solved) and HDF5 MPI Question #1298

Open
summer7807 opened this issue Jul 13, 2022 · 11 comments · Fixed by #1299
Open

Catch2 Issue (solved) and HDF5 MPI Question #1298

summer7807 opened this issue Jul 13, 2022 · 11 comments · Fixed by #1299
Assignees
Milestone

Comments

@summer7807
Copy link

Hi guys:
I encountered the following error when installing openpmd on my terminal (Ubuntu 22.04). I don't know what the problem is. Can you give me some advice or guidance? Thank you.
1
2
3

@franzpoeschel
Copy link
Contributor

franzpoeschel commented Jul 13, 2022

Hey,
for the HDF5 error: If you build HDF5 manually, you have to actively enable parallel HDF5. I usually build the CMake version of HDF5 (https://support.hdfgroup.org/ftp/HDF5/releases/hdf5-1.12/hdf5-1.12.2/src/CMake-hdf5-1.12.2.tar.gz) and then put the CMake options -DHDF5_BUILD_CPP_LIB=OFF -DHDF5_ENABLE_PARALLEL=ON -DHDF5_BUILD_EXAMPLES=OFF -DBUILD_TESTING=OFF. (the CPP_LIB parameter is necessary). If you installed HDF5 any other way, make sure that it is parallel HDF5.

The second one seems to be this error: catchorg/Catch2#2421. We should update our internal version of Catch2 for fixing it. You can deactivate test builds by -DopenPMD_BUILD_TESTING=OFF, or alternatively if you want to build tests, install a recent version of Catch2 and then set -DopenPMD_USE_INTERNAL_CATCH=OFF.

@baobaba13
Copy link

baobaba13 commented Jul 15, 2022

Hi @franzpoeschel
I tried to install parallel "HDF5" and successfully installed it. But I ran make -j $(nproc) install and reported the following error. I haven't updated the version of "CATCH2". Ran -dopenpmd_build_testing=off, I don't know whether this is feasible
QQ图片20220715210800

QQ图片20220715210809

@ax3l ax3l self-assigned this Jul 15, 2022
@ax3l ax3l added bug tests affects latest release third party third party libraries that are shipped and/or linked labels Jul 15, 2022
@ax3l ax3l added this to the 0.14.6 milestone Jul 15, 2022
@ax3l ax3l assigned ax3l and franzpoeschel and unassigned ax3l Jul 15, 2022
@ax3l
Copy link
Member

ax3l commented Jul 16, 2022

The Catch2 issue should be fixed in dev now since #1299 was merged. Thus, you can build again with testing if you like (and temporarily disabling tests was the right call for the issue).

Your HDF5 issue still looks like the HDF5 that is included was not compiled with MPI (aka HDF5 parallel) support enabled. The missing functions are essential HDF5-MPI routines.
Can you share with us the exact command line calls you run to install HDF5 and to make it know to openPMD-api's configuration step?

@ax3l ax3l reopened this Jul 16, 2022
@ax3l ax3l changed the title Openpmd could not be successfully installed Catch2 Issue (solved) and HDF5 MPI Question Jul 16, 2022
@baobaba13
Copy link

Hi @ax3l
I build the CMake version of HDF5 (https://support.hdfgroup.org/ftp/HDF5/releases/hdf5-1.12/hdf5-1.12.2/src/CMake-hdf5-1.12.2.tar.gz)
The commands I use are as follows:
sudo ./configure --prefix=/usr/local/hdf5
sudo make
sudo make check
sudo make install
cd /usr/local/hdf5/share/hdf5_examples/c
sudo ./run-c-ex.sh
sudo h5cc -o h5_extend h5_extend.c
sudo ./h5_extend

@ax3l
Copy link
Member

ax3l commented Jul 16, 2022 via email

@baobaba13
Copy link

baobaba13 commented Jul 16, 2022

Sorry, I didn't call other "cmake" lines after that. I seem to have forgotten to set the environment variable. I thought openpmd could automatically set it. Is there a problem here?In addition, I want to ask, do I need to delete the environment variables of my previous old version of "HDF5"?

@summer7807
Copy link
Author

summer7807 commented Sep 6, 2022

Hi,@franzpoeschel, how to build the cmake version of HDF5, can you give me your detailed commands to build it? I would appreciate it very much

@summer7807
Copy link
Author

Hi,@ax3l, According to your opinion, I tried to set the environment variable, but openpmd could not be installed correctly, and the same error as above was reported.Can you share with me the exact command line calls you run to install HDF5 and to make it know to openPMD-api's configuration step?I think some of my steps may be set incorrectly,I would appreciate it if you could help me.

@franzpoeschel
Copy link
Contributor

Hello @summer7807
I normally use something similar to this script:

    wget -nc --no-check-certificate https://support.hdfgroup.org/ftp/HDF5/releases/hdf5-1.12/hdf5-1.12.0/src/CMake-hdf5-1.12.0.tar.gz
    tar -xzf CMake-hdf5-1.12.0.tar.gz
    cd CMake-hdf5-1.12.0
    mkdir build
    cd build
    cmake ../hdf5-1.12.0 -DHDF5_BUILD_CPP_LIB=OFF -DHDF5_ENABLE_PARALLEL=ON -DCMAKE_INSTALL_PREFIX="$PREFIX" -DHDF5_BUILD_EXAMPLES=OFF -DBUILD_TESTING=OFF
    make -j "$(nproc)" install

Does this help?

If $PREFIX is not a system-known location, it's best to extend the PATH and CMAKE_PREFIX_PATH so that openPMD will find it, e.g.:

export PATH="$PREFIX/bin:$PATH"
export CMAKE_PREFIX_PATH="$PREFIX:$CMAKE_PREFIX_PATH"

@summer7807
Copy link
Author

Hello,@franzpoeschel,According to your instructions, I successfully installed openpmd without any errors. But I later made the following error in the pic-buildstep . I don't know why CUDA would look for Alpaka instead of MPI?
github

@franzpoeschel
Copy link
Contributor

That's a more PIConGPU-related issue, I can only guess that you would need to install Cuda to resolve this. The developers of https://github.com/ComputationalRadiationPhysics/picongpu/ might know this better, though.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants