JuliaPy / JuliaPy/PythonCall.jl

OpenSSL version restriction outdated

Ouverte
#612 3 commentaires 0 réactions 0 personnes assignées Voir sur GitHub
bug
Langage dominant
Julia
Étoiles
1.1k
Forks
86
Merge moyen
1 j 22 h
PR mergées (30 j)
3

Description

Just raising this as a new issue, as the previous thread was a question, so I'm aware that my response might not be seen.

> I believe [Julia now uses a more up to date version of OpenSSL](https://github.com/JuliaLang/julia/pull/58247), 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 "", line 1, in
> 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

_Originally posted by @wilf-phasecraft in [#587](https://github.com/JuliaPy/PythonCall.jl/issues/587#issuecomment-2838271630)_

Guide de contribution

Aucun guide de contribution indexé pour ce dépôt

Évaluation

Cette issue n'a pas encore été évaluée.

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.