`libhdf5` not defined for `juliacall` `0.9.25` on M1 runner when using python built with openssl 1.x
Affects: JuliaCall
Describe the bug
Since 0.9.25 precompilation of HDF5 fails (only) on macos-latest M1 GitHub runner.
Here's an issue where we identified it: https://github.com/JuliaIO/HDF5.jl/issues/1198
And here's a minimal repository reproducing it: https://github.com/mtsokol/hdf5-bug https://github.com/mtsokol/hdf5-bug/actions/runs/15098780219/job/42436980940
Pinning juliacall version to 0.9.24 fixes it:
https://github.com/mtsokol/hdf5-bug/pull/1
Additional context
Looking at the 0.9.25 diff my guess would be that it has something to do with OpenSLL_jll change.
Additionally, I reported 3 weeks ago: https://github.com/JuliaPackaging/Yggdrasil/issues/11077 which was HDF5 dependency juliapkg issue.
I had to pin juliacall only for macos-latest, as pinning it for all environments caused ubuntu-latest to fail with OpenSLL_jll dependency error.
To be clear, this is not a bug with JuliaCall. It is a feature. It is correctly trying to prevent you from loading incompatible versions of OpenSSL.
OpenSSL 1.x has been out of support for at least a year now. If you still need to use Python 3.10, then find a build with a newer version of OpenSSL.
One solution here may be to provide an option to override this the OpenSSL version constraint. I suspect this already exists if one explicitly selects OpenSSL at version 3.
The actual error you're seeing looks more like a bug in HDF5. But presumably you're only getting this bug because juliapkg is holding back OpenSSL_jll which holds back HDF5_jll and this older version is not available on M1.
I don't think there's anything to fix on this end. We could provide an option to override the version that is installed.