conda pkg openssl is restricted to version <3.1 - this prevents installation of recent r-base
Not sure whether this is a bug, probably not?
How can we rely on more recent openssl version, e.g. in order to install a recent r-base next to PythonCall?
I got the following error
error libmamba Could not solve for environment specs
The following packages are incompatible
├─ openssl >=3,<3.1 is requested and can be installed;
└─ r 4.4 is not installable because it requires
└─ r-base >=4.4,<4.5.0a0 but there are no viable options
├─ r-base [4.4.0|4.4.1] would require
│ └─ libcurl >=8.8.0,<9.0a0 but there are no viable options
│ ├─ libcurl [8.10.0|8.10.1] would require
│ │ └─ openssl >=3.3.2,<4.0a0 , which conflicts with any installable versions previously reported;
│ ├─ libcurl 8.11.1 would require
│ │ └─ openssl >=3.4.0,<4.0a0 , which conflicts with any installable versions previously reported;
│ ├─ libcurl 8.8.0 would require
│ │ └─ openssl >=3.3.0,<4.0a0 , which conflicts with any installable versions previously reported;
│ └─ libcurl [8.8.0|8.9.0|8.9.1] would require
│ └─ openssl >=3.3.1,<4.0a0 , which conflicts with any installable versions previously reported;
├─ r-base 4.4.1 would require
│ └─ libcurl [>=8.9.0,<9.0a0 |>=8.9.1,<9.0a0 ], which cannot be installed (as previously explained);
├─ r-base [4.4.1|4.4.2] would require
│ └─ libcurl >=8.10.1,<9.0a0 , which cannot be installed (as previously explained);
└─ r-base 4.4.2 would require
└─ libcurl >=8.11.1,<9.0a0 , which cannot be installed (as previously explained).
Yep unfortunately Julia currently uses OpenSSL 3.0 (this is apparently intentional) so for compatibility reasons we restrict the version of OpenSSL installed by CondaPkg.
You can override this by setting the openssl_version preference to ignore. However YMMV and you'll likely get errors in any code that actually uses OpenSSL.
This is an annoying incompatibility - you can't install new versions of Python for the same reason. I need to open a dialogue with Julia maintainers about this.
Thank you so much for your comment. For Python it is the same? Indeed a big pity... Also thanks for pointing to the preference option.
Please feel free to close this issue or keep it open, whatever you like.
I believe Julia now uses a more up to date version of OpenSSL, which is now causing problems when installing certain packages with JuliaCall/PythonCall.
In short, the following error is commonly encountered (on Linux at least)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/home/wilf/.julia/packages/PythonCall/WMWY0/src/JlWrap/module.jl", line 27, in seval
return self._jl_callmethod($(pyjl_methodnum(pyjlmodule_seval)), expr)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
juliacall.JuliaError: InitError: could not load library "/home/wilf/.julia/artifacts/a696e1e3e6b8d3c2c4b67609357ebc5c35eabde1/lib/libssl.so"
/lib/x86_64-linux-gnu/libcrypto.so.3: version `OPENSSL_3.3.0' not found (required by /home/wilf/.julia/artifacts/a696e1e3e6b8d3c2c4b67609357ebc5c35eabde1/lib/libssl.so)
Stacktrace:
[1] dlopen(s::String, flags::UInt32; throw_error::Bool)
@ Base.Libc.Libdl ./libdl.jl:117
[2] dlopen(s::String, flags::UInt32)
@ Base.Libc.Libdl ./libdl.jl:116
[3] macro expansion
@ ~/.julia/packages/JLLWrappers/GfYNv/src/products/library_generators.jl:63 [inlined]
[4] __init__()
@ OpenSSL_jll ~/.julia/packages/OpenSSL_jll/WaTt1/src/wrappers/x86_64-linux-gnu.jl:16
[5] run_module_init(mod::Module, i::Int64)
@ Base ./loading.jl:1134
[6] register_restored_modules(sv::Core.SimpleVector, pkg::Base.PkgId, path::String)
@ Base ./loading.jl:1122
[7] _include_from_serialized(pkg::Base.PkgId, path::String, ocachepath::String, depmods::Vector{Any})
@ Base ./loading.jl:1067
[8] _require_search_from_serialized(pkg::Base.PkgId, sourcepath::String, build_id::UInt128)
@ Base ./loading.jl:1581
[9] _tryrequire_from_serialized(modkey::Base.PkgId, build_id::UInt128)
@ Base ./loading.jl:1445
[10] _tryrequire_from_serialized(pkg::Base.PkgId, path::String, ocachepath::String)
@ Base ./loading.jl:1524
[11] _require(pkg::Base.PkgId, env::String)
@ Base ./loading.jl:1990
[12] __require_prelocked(uuidkey::Base.PkgId, env::String)
@ Base ./loading.jl:1812
[13] #invoke_in_world#3
@ ./essentials.jl:926 [inlined]
[14] invoke_in_world
@ ./essentials.jl:923 [inlined]
[15] _require_prelocked(uuidkey::Base.PkgId, env::String)
@ Base ./loading.jl:1803
[16] macro expansion
@ ./loading.jl:1790 [inlined]
[17] macro expansion
@ ./lock.jl:267 [inlined]
[18] __require(into::Module, mod::Symbol)
@ Base ./loading.jl:1753
[19] #invoke_in_world#3
@ ./essentials.jl:926 [inlined]
[20] invoke_in_world
@ ./essentials.jl:923 [inlined]
[21] require(into::Module, mod::Symbol)
@ Base ./loading.jl:1746
[22] eval
@ ./boot.jl:385 [inlined]
[23] eval
@ ./Base.jl:88 [inlined]
[24] pyjlmodule_seval(self::Module, expr::Py)
@ PythonCall.JlWrap ~/.julia/packages/PythonCall/WMWY0/src/JlWrap/module.jl:13
[25] _pyjl_callmethod(f::Any, self_::Ptr{PythonCall.C.PyObject}, args_::Ptr{PythonCall.C.PyObject}, nargs::Int64)
@ PythonCall.JlWrap ~/.julia/packages/PythonCall/WMWY0/src/JlWrap/base.jl:67
[26] _pyjl_callmethod(o::Ptr{PythonCall.C.PyObject}, args::Ptr{PythonCall.C.PyObject})
@ PythonCall.JlWrap.Cjl ~/.julia/packages/PythonCall/WMWY0/src/JlWrap/C.jl:63
during initialization of module OpenSSL_jll
To reproduce:
- Create a new python venv using
python3.12 -m venv .venv pip install juliacall(by default this installs Julia 1.11.5)- Start python and run
>>> from juliacall import Main as jl
>>> from juliapkg import add, resolve
>>> add("Yao", "5872b779-8223-5990-8dd0-5abbb0748c8c") # other packages with OpenSSL deps also cause the error
>>> resolve()
>>> jl.seval("using Yao")
Info: Python: 3.12.10 Julia: 1.11.5 OS: Linux
I started running into this problem yesterday too. I'm in need of a quick solution, so I'm hoping downgrading julia within my docker container will fix things for now
Just bumped into this too
juliacall.JuliaError: InitError: could not load library "/root/.julia/artifacts/a69.../lib/libssl.so"
264.4 /lib/x86_64-linux-gnu/libcrypto.so.3: version `OPENSSL_3.3.0' not found (required by /root/.julia/artifacts/a69.../lib/libssl.so)
FULL ERROR STACK
juliapkg.json includes both of the following:
"OpenSSL_jll": {
"uuid": "458c3c95-2e84-50aa-8efc-19380b2a3a95"
},
"OpenSSL": {
"uuid": "4d8831e6-92b7-49fb-bdf8-b643e874388c"
},
258.6 jl.seval("using OpenSSL")
258.6 File "/root/.julia/packages/PythonCall/WMWY0/src/JlWrap/module.jl", line 27, in seval
258.6 return self._jl_callmethod($(pyjl_methodnum(pyjlmodule_seval)), expr)
260.1 juliacall.JuliaError: InitError: could not load library "/root/.julia/artifacts/a696e1e3e6b8d3c2c4b67609357ebc5c35eabde1/lib/libssl.so"
260.1 /lib/x86_64-linux-gnu/libcrypto.so.3: version `OPENSSL_3.3.0' not found (required by /root/.julia/artifacts/a696e1e3e6b8d3c2c4b67609357ebc5c35eabde1/lib/libssl.so)
260.1 Stacktrace:
260.1 [1] dlopen(s::String, flags::UInt32; throw_error::Bool)
260.1 @ Base.Libc.Libdl ./libdl.jl:120
260.1 [2] dlopen(s::String, flags::UInt32)
260.1 @ Base.Libc.Libdl ./libdl.jl:119
260.1 [3] macro expansion
260.1 @ ~/.julia/packages/JLLWrappers/GfYNv/src/products/library_generators.jl:63 [inlined]
260.1 [4] __init__()
260.1 @ OpenSSL_jll ~/.julia/packages/OpenSSL_jll/WaTt1/src/wrappers/x86_64-linux-gnu.jl:16
260.1 [5] run_module_init(mod::Module, i::Int64)
260.1 @ Base ./loading.jl:1378
260.1 [6] register_restored_modules(sv::Core.SimpleVector, pkg::Base.PkgId, path::String)
260.1 @ Base ./loading.jl:1366
260.1 [7] _include_from_serialized(pkg::Base.PkgId, path::String, ocachepath::String, depmods::Vector{Any}, ignore_native::Nothing; register::Bool)
260.1 @ Base ./loading.jl:1254
260.1 [8] _include_from_serialized (repeats 2 times)
260.1 @ ./loading.jl:1210 [inlined]
260.1 [9] _require_search_from_serialized(pkg::Base.PkgId, sourcepath::String, build_id::UInt128, stalecheck::Bool; reasons::Dict{String, Int64}, DEPOT_PATH::Vector{String})
260.1 @ Base ./loading.jl:2041
260.1 [10] _require(pkg::Base.PkgId, env::String)
260.1 @ Base ./loading.jl:2527
260.1 [11] __require_prelocked(uuidkey::Base.PkgId, env::String)
260.1 @ Base ./loading.jl:2388
260.1 [12] #invoke_in_world#3
260.1 @ ./essentials.jl:1089 [inlined]
260.1 [13] invoke_in_world
260.1 @ ./essentials.jl:1086 [inlined]
260.1 [14] _require_prelocked(uuidkey::Base.PkgId, env::String)
260.1 @ Base ./loading.jl:2375
260.1 [15] macro expansion
260.1 @ ./loading.jl:2314 [inlined]
260.1 [16] macro expansion
260.1 @ ./lock.jl:273 [inlined]
260.1 [17] __require(into::Module, mod::Symbol)
260.1 @ Base ./loading.jl:2271
260.1 [18] #invoke_in_world#3
260.1 @ ./essentials.jl:1089 [inlined]
260.1 [19] invoke_in_world
260.1 @ ./essentials.jl:1086 [inlined]
260.1 [20] require(into::Module, mod::Symbol)
260.1 @ Base ./loading.jl:2260
260.1 [21] eval
260.1 @ ./boot.jl:430 [inlined]
260.1 [22] eval
260.1 @ ./Base.jl:130 [inlined]
260.1 [23] pyjlmodule_seval(self::Module, expr::Py)
260.1 @ PythonCall.JlWrap ~/.julia/packages/PythonCall/WMWY0/src/JlWrap/module.jl:13
260.1 [24] _pyjl_callmethod(f::Any, self_::Ptr{PythonCall.C.PyObject}, args_::Ptr{PythonCall.C.PyObject}, nargs::Int64)
260.1 @ PythonCall.JlWrap ~/.julia/packages/PythonCall/WMWY0/src/JlWrap/base.jl:67
260.1 [25] _pyjl_callmethod(o::Ptr{PythonCall.C.PyObject}, args::Ptr{PythonCall.C.PyObject})
260.1 @ PythonCall.JlWrap.Cjl ~/.julia/packages/PythonCall/WMWY0/src/JlWrap/C.jl:63
260.1 during initialization of module OpenSSL_jll
Setup:
- Recently updated to JL 1.11.5
- PythonCall.jl v0.9.24
- Think it's Py 3.10
- Ubuntu 22.04
- Occurs while first time run of PythonCall.jl in a Docker build
- this used to work on older versions, and hasn't seemed worth it (yet) to search for the precise pkg versions where break occurred -- guessing it's related to comment above
Trying to debug, here is the shortest example so far:
Fresh Python
cd /tmp
python3 -m venv pythoncall587
source pythoncall587/bin/activate
pip install juliacall
This installs juliacall-0.9.24-py3-none-any.whl. Then run python3 (I have 3.10.12):
>>> from juliacall import Main as jl
# see package install list
Resolving package versions...
Updating `/tmp/pythoncall587/julia_env/Project.toml`
[6099a3de] + PythonCall v0.9.24
Updating `/tmp/pythoncall587/julia_env/Manifest.toml`
[992eb4ea] + CondaPkg v0.2.28
[9a962f9c] + DataAPI v1.16.0
[e2d170a0] + DataValueInterfaces v1.0.0
[82899510] + IteratorInterfaceExtensions v1.0.0
[692b3bcd] + JLLWrappers v1.7.0
[0f8b85d8] + JSON3 v1.14.2
[1914dd2f] + MacroTools v0.5.16
[0b3b1443] + MicroMamba v0.1.14
[bac558e1] + OrderedCollections v1.8.0
[69de0a69] + Parsers v2.8.3
[fa939f87] + Pidfile v1.3.0
⌅ [aea7be01] + PrecompileTools v1.2.1
[21216c6a] + Preferences v1.4.3
[6099a3de] + PythonCall v0.9.24
[ae029012] + Requires v1.3.1
[6c6a2e73] + Scratch v1.2.1
[856f2bd8] + StructTypes v1.11.0
[3783bdb8] + TableTraits v1.0.1
[bd369af6] + Tables v1.12.0
[e17b2a0c] + UnsafePointers v1.0.0
[f8abcde7] + micromamba_jll v1.5.8+0
[4d7b5844] + pixi_jll v0.41.3+0
[0dad84c5] + ArgTools v1.1.2
[56f22d72] + Artifacts v1.11.0
[2a0f44e3] + Base64 v1.11.0
[ade2ca70] + Dates v1.11.0
[f43a241f] + Downloads v1.6.0
[7b1f6079] + FileWatching v1.11.0
[b77e0a4c] + InteractiveUtils v1.11.0
[4af54fe1] + LazyArtifacts v1.11.0
[b27032c2] + LibCURL v0.6.4
[76f85450] + LibGit2 v1.11.0
[8f399da3] + Libdl v1.11.0
[56ddb016] + Logging v1.11.0
[d6f4376e] + Markdown v1.11.0
[a63ad114] + Mmap v1.11.0
[ca575930] + NetworkOptions v1.2.0
[44cfe95a] + Pkg v1.11.0
[de0858da] + Printf v1.11.0
[9a3f8284] + Random v1.11.0
[ea8e919c] + SHA v0.7.0
[9e88b42a] + Serialization v1.11.0
[fa267f1f] + TOML v1.0.3
[a4e569a6] + Tar v1.10.0
[8dfed614] + Test v1.11.0
[cf7118a7] + UUIDs v1.11.0
[4ec0a83e] + Unicode v1.11.0
[deac9b47] + LibCURL_jll v8.6.0+0
[e37daf67] + LibGit2_jll v1.7.2+0
[29816b5a] + LibSSH2_jll v1.11.0+1
[c8ffd9c3] + MbedTLS_jll v2.28.6+0
[14a3606d] + MozillaCACerts_jll v2023.12.12
[83775a58] + Zlib_jll v1.2.13+1
[8e850ede] + nghttp2_jll v1.59.0+0
[3f19e933] + p7zip_jll v17.4.0+2
>>> jl.seval("import Pkg; Pkg.add(\"OpenSSL\")")
# installs OpenSSL 1.4.3
Resolving package versions...
Updating `/tmp/pythoncall587/julia_env/Project.toml`
[4d8831e6] + OpenSSL v1.4.3
Updating `/tmp/pythoncall587/julia_env/Manifest.toml`
[d1d4a3ce] + BitFlags v0.1.9
[4d8831e6] + OpenSSL v1.4.3
[458c3c95] + OpenSSL_jll v3.5.0+0
[6462fe0b] + Sockets v1.11.0
>>> jl.seval("using OpenSSL")
JuliaCall.JuliaError: InitError: could not open library ... OPENSSL_3.3.0
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/home/dehann/.julia/packages/PythonCall/WMWY0/src/JlWrap/module.jl", line 27, in seval
return self._jl_callmethod($(pyjl_methodnum(pyjlmodule_seval)), expr)
juliacall.JuliaError: InitError: could not load library "/home/dehann/.julia/artifacts/a696e1e3e6b8d3c2c4b67609357ebc5c35eabde1/lib/libssl.so"
/lib/x86_64-linux-gnu/libcrypto.so.3: version `OPENSSL_3.3.0' not found (required by /home/dehann/.julia/artifacts/a696e1e3e6b8d3c2c4b67609357ebc5c35eabde1/lib/libssl.so)
Stacktrace:
[1] dlopen(s::String, flags::UInt32; throw_error::Bool)
@ Base.Libc.Libdl ./libdl.jl:120
[2] dlopen(s::String, flags::UInt32)
@ Base.Libc.Libdl ./libdl.jl:119
[3] macro expansion
@ ~/.julia/packages/JLLWrappers/GfYNv/src/products/library_generators.jl:63 [inlined]
[4] __init__()
@ OpenSSL_jll ~/.julia/packages/OpenSSL_jll/WaTt1/src/wrappers/x86_64-linux-gnu.jl:16
[5] run_module_init(mod::Module, i::Int64)
@ Base ./loading.jl:1378
[6] register_restored_modules(sv::Core.SimpleVector, pkg::Base.PkgId, path::String)
@ Base ./loading.jl:1366
[7] _include_from_serialized(pkg::Base.PkgId, path::String, ocachepath::String, depmods::Vector{Any}, ignore_native::Nothing; register::Bool)
@ Base ./loading.jl:1254
[8] _include_from_serialized (repeats 2 times)
@ ./loading.jl:1210 [inlined]
[9] _require_search_from_serialized(pkg::Base.PkgId, sourcepath::String, build_id::UInt128, stalecheck::Bool; reasons::Dict{String, Int64}, DEPOT_PATH::Vector{String})
@ Base ./loading.jl:2041
[10] _require(pkg::Base.PkgId, env::String)
@ Base ./loading.jl:2527
[11] __require_prelocked(uuidkey::Base.PkgId, env::String)
@ Base ./loading.jl:2388
[12] #invoke_in_world#3
@ ./essentials.jl:1089 [inlined]
[13] invoke_in_world
@ ./essentials.jl:1086 [inlined]
[14] _require_prelocked(uuidkey::Base.PkgId, env::String)
@ Base ./loading.jl:2375
[15] macro expansion
@ ./loading.jl:2314 [inlined]
[16] macro expansion
@ ./lock.jl:273 [inlined]
[17] __require(into::Module, mod::Symbol)
@ Base ./loading.jl:2271
[18] #invoke_in_world#3
@ ./essentials.jl:1089 [inlined]
[19] invoke_in_world
@ ./essentials.jl:1086 [inlined]
[20] require(into::Module, mod::Symbol)
@ Base ./loading.jl:2260
[21] eval
@ ./boot.jl:430 [inlined]
[22] eval
@ ./Base.jl:130 [inlined]
[23] pyjlmodule_seval(self::Module, expr::Py)
@ PythonCall.JlWrap ~/.julia/packages/PythonCall/WMWY0/src/JlWrap/module.jl:13
[24] _pyjl_callmethod(f::Any, self_::Ptr{PythonCall.C.PyObject}, args_::Ptr{PythonCall.C.PyObject}, nargs::Int64)
@ PythonCall.JlWrap ~/.julia/packages/PythonCall/WMWY0/src/JlWrap/base.jl:67
[25] _pyjl_callmethod(o::Ptr{PythonCall.C.PyObject}, args::Ptr{PythonCall.C.PyObject})
@ PythonCall.JlWrap.Cjl ~/.julia/packages/PythonCall/WMWY0/src/JlWrap/C.jl:63
during initialization of module OpenSSL_jll
When looking at the JuliaError:
juliacall.JuliaError: InitError: could not load library "/home/dehann/.julia/artifacts/a696e1e3e6b8d3c2c4b67609357ebc5c35eabde1/lib/libssl.so"
/lib/x86_64-linux-gnu/libcrypto.so.3: version `OPENSSL_3.3.0' not found (required by /home/dehann/.julia/artifacts/a696e1e3e6b8d3c2c4b67609357ebc5c35eabde1/lib/libssl.so)
and the ldd listing shows:
$ ldd /home/dehann/.julia/artifacts/a696e1e3e6b8d3c2c4b67609357ebc5c35eabde1/lib/libssl.so
linux-vdso.so.1 (0x0000726239f90000)
libcrypto.so.3 => /home/dehann/.julia/artifacts/a696e1e3e6b8d3c2c4b67609357ebc5c35eabde1/lib/libcrypto.so.3 (0x0000726239400000)
libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x0000726239f73000)
libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x0000726239f6e000)
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x0000726239000000)
/lib64/ld-linux-x86-64.so.2 (0x0000726239f92000)
And trying to get some info on which OpenSSL is built in the artifact (looks like mostly 3.0.0, but also some 3.4.0 - huh?):
$ objdump -T /home/dehann/.julia/artifacts/a696e1e3e6b8d3c2c4b67609357ebc5c35eabde1/lib/libcrypto.so.3 | grep -i get_version
0000000000185280 g DF .text 0000000000000003 OPENSSL_3.0.0 SCT_get_version
000000000031d4c0 g DF .text 0000000000000009 OPENSSL_3.0.0 X509_REQ_get_version
00000000002aaa20 g DF .text 0000000000000004 OPENSSL_3.0.0 RSA_get_version
00000000002efb50 g DF .text 0000000000000008 OPENSSL_3.0.0 TS_TST_INFO_get_version
0000000000326e70 g DF .text 0000000000000008 OPENSSL_3.0.0 X509_CRL_get_version
00000000002ed720 g DF .text 0000000000000008 OPENSSL_3.0.0 TS_REQ_get_version
000000000031d7b0 g DF .text 0000000000000008 OPENSSL_3.0.0 X509_get_version
0000000000318820 g DF .text 0000000000000008 OPENSSL_3.4.0 X509_ACERT_get_version
So this really is a version thing 3.3.0 != 3.0.0.
xref related:
- https://github.com/openssl/openssl/issues/19801
- https://github.com/avik-pal/Wandb.jl/issues/39
- could be a Python env problem instead: see similar https://discourse.julialang.org/t/error-curl-openssl-4-not-found-when-using-julia-and-r/101847/2
I also followed a (potentially false) lead, since some of the error stacks above try find /lib/x86_64-linux-gnu/libcrypto.so.3. Generally that one is present on my system or also at /usr/lib/x86_64-linux-gnu, ~~but I think that a false lead since PythonCall.jl and Julia in general avoids using system libraries~~. Only mentioning since this bug might somehow be related (otherwise why would that printout occur in some cases). Also though (see ldd above), only the linked libcrypto.so is a local artifact; all others are system packages. I hadn't noticed that inconsistency before.
/lib/x86_64-linux-gnu/libcrypto.so.3 is 3.0.0
$ objdump -T /lib/x86_64-linux-gnu/libcrypto.so.3 | grep -i get_version
000000000020db90 g DF .text 000000000000000c OPENSSL_3.0.0 TS_TST_INFO_get_version
0000000000114e20 g DF .text 0000000000000007 OPENSSL_3.0.0 SCT_get_version
000000000022abd0 g DF .text 000000000000000d OPENSSL_3.0.0 X509_REQ_get_version
0000000000236b00 g DF .text 000000000000000c OPENSSL_3.0.0 X509_CRL_get_version
000000000020db80 g DF .text 000000000000000c OPENSSL_3.0.0 TS_REQ_get_version
00000000001edf60 g DF .text 0000000000000008 OPENSSL_3.0.0 RSA_get_version
000000000022abe0 g DF .text 000000000000000c OPENSSL_3.0.0 X509_get_version
xref related:
- https://discourse.julialang.org/t/openssl-artifact-carries-old-openssl-version/124420
Ah, solved the problem I was having. Both docker or native. Closely related to what @wilf-phasecraft mentioned. Perhaps bit more specifically this commit is where the compat issue happened:
- https://github.com/JuliaBinaryWrappers/OpenSSL_jll.jl/commit/3bcdeb14975d34ba4242711c3e4e5892830afa8d
Specifically I have to forcefully install [email protected], since the latest v3.5.0 seems to be incompatible with current PythonCall v0.9.24. So I now have in juliapkg.json:
"julia": "1.11",
"OpenSSL_jll": {
"uuid": "458c3c95-2e84-50aa-8efc-19380b2a3a95",
"version": "=3.0.16"
},