Hacktoberfest 2026: as issues que os mantenedores marcaram para outubro, abertas e boas para iniciantes. Ver issues do Hacktoberfest

OpenSSL version restriction outdated

Aberta
#612 3 comentários 0 reações 0 responsáveis Ver no GitHub

Mantenedores costumam responder em até 1 dia

Ninguém assumiu esta issue ainda.

Avaliação

Dificuldade
4/5
Tempo estimado
3-5 dias
Facilidade para iniciantes
38/100
Tipo de issue
Bug
Clareza
Razoavelmente clara
Status de atividade
Estagnada
Stack de tecnologia
julia, python
Domínio
build-system

Direção de pesquisa

Reproduza a falha com Python 3.12.10, Julia 1.11.5, juliacall e o exemplo do Yao; em seguida, inspecione o wrapper do OpenSSL_jll e o caminho de carregamento do artefato mostrado no traceback. Está concluído quando o ambiente Linux informado consegue carregar a dependência do OpenSSL sem o erro causado pela ausência de OPENSSL_3.3.0.

Escrita pelo modelo de indexação a partir do texto da issue.

Descrição

bug

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, 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

Originally posted by @wilf-phasecraft in #587

Linguagem predominante
Julia
Estrelas
1.1k
Forks
89
Merge médio
1d 22h
PRs com merge (30d)
5

Preparar o ambiente

Este projeto não oferece contêiner de desenvolvimento, Dockerfile nem guia de contribuição, então a configuração fica por sua conta: comece pelo README e veja nosso guia da primeira contribuição para os passos gerais.

Primeiros passos

  1. Leia a issue inteira e depois o guia de contribuição do projeto.
  2. Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
  3. Faça um fork do repositório e trabalhe em uma branch.
  4. Abra um pull request que referencie o número da issue.

Mais de JuliaPy/PythonCall.jl

Todas as issues de JuliaPy/PythonCall.jl

Issues semelhantes

Mais issues de Julia

Receba novas issues na sua caixa de entrada

Um resumo curto de issues do GitHub para quem está começando.