# LibSSH2\_jll fails to precompile

**URL:** <https://discourse.julialang.org/t/libssh2-jll-fails-to-precompile/68247>\
**Category:** New to Julia\
**Tags:** question, package\
**Created:** [September 16, 2021, 7:32am UTC](https://discourse.julialang.org/t/libssh2-jll-fails-to-precompile/68247 "2021-09-16T07:32:34Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![clarakoehne](https://avatars.discourse-cdn.com/v4/letter/c/ea5d25/32.png) [@clarakoehne](https://discourse.julialang.org/u/clarakoehne)\
**Post date:** [September 16, 2021, 7:32am UTC](https://discourse.julialang.org/t/libssh2-jll-fails-to-precompile/68247/1 "2021-09-16T07:32:34Z")

</div>

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:

```julia
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!

---

<div class="post-metadata">

**Author:** ![ImreSamu](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/imresamu/32/20677_2.png) [@ImreSamu](https://discourse.julialang.org/u/ImreSamu)\
**Post date:** [September 16, 2021, 11:48am UTC](https://discourse.julialang.org/t/libssh2-jll-fails-to-precompile/68247/2 "2021-09-16T11:48:19Z")

</div>

> [@clarakoehne](#):
>
> `ERROR: LoadError: InitError: could not load library "libmbedcrypto.so.5"`

similar error in [Failing precompilation (MbedTLS) on Arch Linux · Issue #144 · JuliaGeo/NetCDF.jl · GitHub](https://github.com/JuliaGeo/NetCDF.jl/issues/144) ( Arch Linux, with workarounds )
