Skip to content

Failing precompilation of HDF5_jll (with OpenMPI 4?) #237

@benegee

Description

@benegee

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 (JuliaPackaging/Yggdrasil@e449cb6), which declared the libmpi_mpifh library to be provided by OpenMPI_jll.

The actual cause however is precisely described here: JuliaPackaging/Yggdrasil#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

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions