trixi-framework / trixi-framework/libtrixi

Failing precompilation of HDF5_jll (with OpenMPI 4?)

Open
#237 12 comments 0 reactions 0 assignees View on GitHub

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.so library in LocalPreferences.toml
    [OpenMPI_jll]
    libmpi_mpifh_path = "/lib/x86_64-linux-gnu/libmpi_mpifh.so"
    
  • Downgrade OpenMPI_jll to v4

@KerstinHartung

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.