trixi-framework / trixi-framework/libtrixi
Failing precompilation of HDF5_jll (with OpenMPI 4?)
Nobody has claimed this yet.
- Dominant language
- Julia
- Stars
- 3
- Forks
- 3
- Avg merge
- 1d 14h
- Merged PRs (30d)
- 1
Description
CI currently fails when precompiling HDF5_jll
Failed to precompile HDF5_jll [0234f1f7-429e-5d53-9886-15a909be8d59] to "/home/runner/.julia/compiled/v1.10/HDF5_jll/jl_CgDWlD".
ERROR: LoadError: InitError: could not load library "/home/runner/.julia/artifacts/689e8d7a066e74f34108119415bd9e46a2f8b168/lib/libmpi_mpifh.so"
/home/runner/.julia/artifacts/689e8d7a066e74f34108119415bd9e46a2f8b168/lib/libmpi_mpifh.so: undefined symbol: ompi_instance_count
This was caused by the recent changes in OpenMPI_jll (https://github.com/JuliaPackaging/Yggdrasil/commit/e449cb642cb89b3ce92e618a1c83c05bdf27c932), which declared the libmpi_mpifh library to be provided by OpenMPI_jll.
The actual cause however is precisely described here: https://github.com/JuliaPackaging/Yggdrasil/issues/6893
We switch to system MPI, and also system HDF5, but HDF5_jll still gets pulled in and will instead load the MPI libraries provided by OpenMPI_jll. In particular it loads OpenMPI_jll's libmpi_mpifh.so, and cannot resolve the ompi_instance_count symbol (which comes with OpenMPI 5?).
Workarounds so far:
- Override the provided
libmpi_mpifh.solibrary inLocalPreferences.toml[OpenMPI_jll] libmpi_mpifh_path = "/lib/x86_64-linux-gnu/libmpi_mpifh.so" - Downgrade
OpenMPI_jllto v4
@KerstinHartung
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reproducing the CI precompilation failure for HDF5_jll and inspect how HDF5_jll loads OpenMPI_jll's libmpi_mpifh.so. Compare that behavior with the system MPI and HDF5 setup described in the issue, including the LocalPreferences.toml workaround. Done means CI precompiles HDF5_jll without the undefined ompi_instance_count symbol.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- julia
- Domain
- build-system, ci-cd
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100