Hey there,
I’m trying to compile a project using the PackageCompiler
module. The compilation is part of a conda build
process, i.e. I’m trying to make and upload a bioconda package from my project. However, I get the following error during compilation:
07:13:58 BIOCONDA INFO (OUT) 1 dependency errored. To see a full report either run `import Pkg; Pkg.precompile()` or load the package
07:13:59 BIOCONDA INFO (OUT) ERROR: LoadError: InitError: could not load library "libmbedcrypto.so.5"
07:13:59 BIOCONDA INFO (OUT) libmbedcrypto.so.5: cannot open shared object file: No such file or directory
07:13:59 BIOCONDA INFO (OUT) Stacktrace:
07:13:59 BIOCONDA INFO (OUT) [1] dlopen(s::String, flags::UInt32; throw_error::Bool)
07:13:59 BIOCONDA INFO (OUT) @ Base.Libc.Libdl ./libdl.jl:114
07:13:59 BIOCONDA INFO (OUT) [2] dlopen (repeats 2 times)
07:13:59 BIOCONDA INFO (OUT) @ ./libdl.jl:114 [inlined]
07:13:59 BIOCONDA INFO (OUT) [3] __init__()
07:13:59 BIOCONDA INFO (OUT) @ MbedTLS_jll /opt/conda/conda-bld/patchwork_1631776094582/_build_env/share/julia/stdlib/v1.6/MbedTLS_jll/src/MbedTLS_jll.jl:40
07:13:59 BIOCONDA INFO (OUT) [4] _include_from_serialized(path::String, depmods::Vector{Any})
07:13:59 BIOCONDA INFO (OUT) @ Base ./loading.jl:696
07:13:59 BIOCONDA INFO (OUT) [5] _require_search_from_serialized(pkg::Base.PkgId, sourcepath::String)
07:13:59 BIOCONDA INFO (OUT) @ Base ./loading.jl:782
07:13:59 BIOCONDA INFO (OUT) [6] _require(pkg::Base.PkgId)
07:13:59 BIOCONDA INFO (OUT) @ Base ./loading.jl:1020
07:13:59 BIOCONDA INFO (OUT) [7] require(uuidkey::Base.PkgId)
07:13:59 BIOCONDA INFO (OUT) @ Base ./loading.jl:936
07:13:59 BIOCONDA INFO (OUT) [8] require(into::Module, mod::Symbol)
07:13:59 BIOCONDA INFO (OUT) @ Base ./loading.jl:923
07:13:59 BIOCONDA INFO (OUT) [9] include
07:13:59 BIOCONDA INFO (OUT) @ ./Base.jl:386 [inlined]
07:13:59 BIOCONDA INFO (OUT) [10] include_package_for_output(pkg::Base.PkgId, input::String, depot_path::Vector{String}, dl_load_path::Vector{String}, load_path::Vector{String}, concrete_deps::Vector{Pair{Base.PkgId, UInt64}}, source::String)
07:13:59 BIOCONDA INFO (OUT) @ Base ./loading.jl:1235
07:13:59 BIOCONDA INFO (OUT) [11] top-level scope
07:13:59 BIOCONDA INFO (OUT) @ none:1
07:13:59 BIOCONDA INFO (OUT) [12] eval
07:13:59 BIOCONDA INFO (OUT) @ ./boot.jl:360 [inlined]
07:13:59 BIOCONDA INFO (OUT) [13] eval(x::Expr)
07:13:59 BIOCONDA INFO (OUT) @ Base.MainInclude ./client.jl:446
07:13:59 BIOCONDA INFO (OUT) [14] top-level scope
07:13:59 BIOCONDA INFO (OUT) @ none:1
07:13:59 BIOCONDA INFO (OUT) during initialization of module MbedTLS_jll
07:13:59 BIOCONDA INFO (OUT) in expression starting at /opt/conda/conda-bld/patchwork_1631776094582/_build_env/share/julia/stdlib/v1.6/LibSSH2_jll/src/LibSSH2_jll.jl:5
07:14:00 BIOCONDA INFO (OUT) ERROR: LoadError: Failed to precompile LibSSH2_jll [29816b5a-b9ab-546f-933c-edad1886dfa8] to /home/conda/.julia/compiled/v1.6/LibSSH2_jll/jl_LLnhVk.
07:14:00 BIOCONDA INFO (OUT) Stacktrace:
07:14:00 BIOCONDA INFO (OUT) [1] error(s::String)
07:14:00 BIOCONDA INFO (OUT) @ Base ./error.jl:33
07:14:00 BIOCONDA INFO (OUT) [2] compilecache(pkg::Base.PkgId, path::String, internal_stderr::Base.TTY, internal_stdout::Base.PipeEndpoint, ignore_loaded_modules::Bool)
07:14:00 BIOCONDA INFO (OUT) @ Base ./loading.jl:1385
07:14:00 BIOCONDA INFO (OUT) [3] compilecache(pkg::Base.PkgId, path::String)
07:14:00 BIOCONDA INFO (OUT) @ Base ./loading.jl:1329
07:14:00 BIOCONDA INFO (OUT) [4] _require(pkg::Base.PkgId)
07:14:00 BIOCONDA INFO (OUT) @ Base ./loading.jl:1043
07:14:00 BIOCONDA INFO (OUT) [5] require(uuidkey::Base.PkgId)
07:14:00 BIOCONDA INFO (OUT) @ Base ./loading.jl:936
07:14:00 BIOCONDA INFO (OUT) [6] require(into::Module, mod::Symbol)
07:14:00 BIOCONDA INFO (OUT) @ Base ./loading.jl:923
The LibSSH2_jll
module is listed as a dependency in my Manifest.toml
. The command that produces the error is PackageCompiler.create_app(projectdirectory, outdirectory; precompile_statements_file = precompiled, force = true)
.
Strangely, the error does not always occur; on my local computer it works alright but not on the bioconda thingy.
Can someone help me here? Thanks!