-
Notifications
You must be signed in to change notification settings - Fork 66
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
Conflict between julia and python binaries/artifacts #397
Comments
Yes this is an unfortunate effect of using the same library installed by two essentially independent package managers. A few options I can think of:
|
I just ran into this issue as well. I wonder if it's possible to have a translation table between JLLs and python packages? Then we can set compat appropriately on the Python end, based on the JLLs in the active Manifest. I guess this is kind of midway between 2 and 3 though (but without the headache of installing all the extra compat packages) |
I think we could implement the compat packages as extensions of CondaPkg for the corresponding JLL packages so that they would be imported once CondaPkg and some JLL is loaded together. |
@BSchilperoort How did you find the versions that you had to restrict to make NetCDF work from both python and Julia? |
I manually installed the same versions of netCDF4 for python and julia, 1.6.4 for each. However, in the end we've gone with containerizing the julia numerical model and communicating via a RESTful API instead. |
Affects: JuliaCall
Describe the bug
When using a conda/mamba environment and juliacall I encountered an issue when NetCDF files are read by the julia code. When trying to read the files the julia code would raise the following error and crash the kernel:
symbol lookup error: .../.julia/artifacts/*/lib/netcdf.so: undefined symbol: H5Pset_all_coll_metadata_ops
It turns out that this error only occured if python packages depending on netCDF were imported.
For example, the following code would crash:
While this runs fine:
Workaround:
I managed to avoid this crash by ensuring that the Julia and Python packages used the exact same version of the netcdf5 and hdf5 binaries, in which case things went fine.
However, this can be very challenging to do.
The text was updated successfully, but these errors were encountered: