Skip to content

conda pkg openssl is restricted to version <3.1 - this prevents installation of recent r-base #587

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

Open
schlichtanders opened this issue Jan 15, 2025 · 7 comments
Labels
question Further information is requested

Comments

@schlichtanders
Copy link
Contributor

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).
@schlichtanders schlichtanders added the question Further information is requested label Jan 15, 2025
@cjdoris
Copy link
Collaborator

cjdoris commented Jan 15, 2025

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.

@schlichtanders
Copy link
Contributor Author

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.

@wilf-phasecraft
Copy link

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:

  1. Create a new python venv using python3.12 -m venv .venv
  2. pip install juliacall (by default this installs Julia 1.11.5)
  3. 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

@rconnorjohnstone
Copy link

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

@dehann
Copy link

dehann commented May 7, 2025

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

@dehann
Copy link

dehann commented May 8, 2025

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:


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:

@dehann
Copy link

dehann commented May 8, 2025

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:

Specifically I have to forcefully install OpenSSL_jll@v3.0.16, 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"
        },

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
question Further information is requested
Projects
None yet
Development

No branches or pull requests

5 participants