How to install jhrmstoolbox.jl in Julia; libmbedtls.so.12 not found

Hello, I’m so sorry for spamming questions. I’m trying to install a package like this:

using Pkg

Add prerequisite packages

Pkg.add(PackageSpec(url=“Bitbucket”))

As the Bitbucket page suggests: Denice_van_Herwerden / jhrmstoolbox.jl — Bitbucket

This yields the following error:

ERROR: ArgumentError: invalid value for Enum Class: 35
Stacktrace:
[1] enum_argument_error(typename::Symbol, x::Int32)
@ Base.Enums .\Enums.jl:93
[2] Class
@ .\Enums.jl:212 [inlined]
[3] last_error
@ C:\Users\marti\AppData\Local\Programs\Julia-1.10.9\share\julia\stdlib\v1.10\LibGit2\src\error.jl:91 [inlined]
[4] GitError
@ C:\Users\marti\AppData\Local\Programs\Julia-1.10.9\share\julia\stdlib\v1.10\LibGit2\src\error.jl:102 [inlined]
[5] LibGit2.Error.GitError(err_code::Int32)
@ LibGit2.Error C:\Users\marti\AppData\Local\Programs\Julia-1.10.9\share\julia\stdlib\v1.10\LibGit2\src\error.jl:100
[6] macro expansion
@ C:\Users\marti\AppData\Local\Programs\Julia-1.10.9\share\julia\stdlib\v1.10\LibGit2\src\error.jl:112 [inlined]
[7] checkout_tree(repo::LibGit2.GitRepo, obj::LibGit2.GitTree; options::LibGit2.CheckoutOptions)
@ LibGit2 C:\Users\marti\AppData\Local\Programs\Julia-1.10.9\share\julia\stdlib\v1.10\LibGit2\src\repository.jl:358
[8] checkout_tree
@ C:\Users\marti\AppData\Local\Programs\Julia-1.10.9\share\julia\stdlib\v1.10\LibGit2\src\repository.jl:354 [inlined]
[9] checkout_tree_to_path(repo::LibGit2.GitRepo, tree::LibGit2.GitTree, path::String)
@ Pkg.GitTools C:\Users\marti\AppData\Local\Programs\Julia-1.10.9\share\julia\stdlib\v1.10\Pkg\src\GitTools.jl:88
[10] (::Pkg.Types.var"#55#56"{Pkg.Types.Context, Pkg.Types.PackageSpec, String})(repo::LibGit2.GitRepo)
@ Pkg.Types C:\Users\marti\AppData\Local\Programs\Julia-1.10.9\share\julia\stdlib\v1.10\Pkg\src\Types.jl:846
[11] with(f::Pkg.Types.var"#55#56"{Pkg.Types.Context, Pkg.Types.PackageSpec, String}, obj::LibGit2.GitRepo)
@ LibGit2 C:\Users\marti\AppData\Local\Programs\Julia-1.10.9\share\julia\stdlib\v1.10\LibGit2\src\types.jl:1160
[12] handle_repo_add!(ctx::Pkg.Types.Context, pkg::Pkg.Types.PackageSpec)
@ Pkg.Types C:\Users\marti\AppData\Local\Programs\Julia-1.10.9\share\julia\stdlib\v1.10\Pkg\src\Types.jl:797
[13] handle_repos_add!(ctx::Pkg.Types.Context, pkgs::Vector{Pkg.Types.PackageSpec})
@ Pkg.Types C:\Users\marti\AppData\Local\Programs\Julia-1.10.9\share\julia\stdlib\v1.10\Pkg\src\Types.jl:867
[14] add(ctx::Pkg.Types.Context, pkgs::Vector{…}; preserve::Pkg.Types.PreserveLevel, platform::Base.BinaryPlatforms.Platform, kwargs::@Kwargs{…})
@ Pkg.API C:\Users\marti\AppData\Local\Programs\Julia-1.10.9\share\julia\stdlib\v1.10\Pkg\src\API.jl:258
[15] add(pkgs::Vector{Pkg.Types.PackageSpec}; io::Base.TTY, kwargs::@Kwargs{})
@ Pkg.API C:\Users\marti\AppData\Local\Programs\Julia-1.10.9\share\julia\stdlib\v1.10\Pkg\src\API.jl:159
[16] add(pkgs::Vector{Pkg.Types.PackageSpec})
@ Pkg.API C:\Users\marti\AppData\Local\Programs\Julia-1.10.9\share\julia\stdlib\v1.10\Pkg\src\API.jl:148
[17] add(pkg::Pkg.Types.PackageSpec)
@ Pkg.API C:\Users\marti\AppData\Local\Programs\Julia-1.10.9\share\julia\stdlib\v1.10\Pkg\src\API.jl:146
[18] top-level scope
@ REPL[44]:1

This didn’t used to happen, it would always install with warnings, but now it does this, what does this mean? Can somebody please help I’m getting desperate. Thanks in advance.

I just tried to install the first dependency of this package, and it failed. So the package is outdated. But a workaround should be possible. It might take some time to figure that out.

I get this error:

julia> using Pkg

julia> Pkg.add(PackageSpec(url="https://bitbucket.org/SSamanipour/ms_import.jl/src/master/"))
     Cloning git-repo `https://bitbucket.org/SSamanipour/ms_import.jl/src/master`
    Updating git-repo `https://bitbucket.org/SSamanipour/ms_import.jl/src/master`
    Updating registry at `~/.julia/registries/DyadRegistry.toml`
    Updating registry at `~/.julia/registries/JuliaComputingRegistry.toml`
    Updating registry at `~/.julia/registries/JuliaHubRegistry.toml`
   Resolving package versions...
   Installed NetCDF_jll ────── v400.701.400+0
   Installed XML2_jll ──────── v2.15.1+0
   Installed HDF5_jll ──────── v1.12.0+1
   Installed LightXML ──────── v0.9.3
   Installed CFTime ────────── v0.2.4
   Installed NCDatasets ────── v0.14.9
   Installed OpenSSL_jll ───── v1.1.23+1
   Installed CommonDataModel ─ v0.4.1
   Installed DiskArrays ────── v0.4.18
   Installed Codecs ────────── v0.5.0
  Downloaded artifact: XML2
  Downloaded artifact: OpenSSL
  Downloaded artifact: NetCDF
  Downloaded artifact: HDF5
    Updating `~/tmp/Project.toml`
  [93a63400] + MS_Import v0.9.3 `https://bitbucket.org/SSamanipour/ms_import.jl/src/master/#master`
    Updating `~/tmp/Manifest.toml`
  [66dad0bd] + AliasTables v1.1.3
  [6e4b80f9] + BenchmarkTools v1.6.3
  [179af706] + CFTime v0.2.4
  [944b1d66] + CodecZlib v0.7.8
  [19ecbf4d] + Codecs v0.5.0
  [1fbeeb36] + CommonDataModel v0.4.1
  [34da2185] + Compat v4.18.1
  [187b0558] + ConstructionBase v1.6.0
  [9a962f9c] + DataAPI v1.16.0
  [864edb3b] + DataStructures v0.19.1
  [3c3547ce] + DiskArrays v0.4.18
  [ffbed154] + DocStringExtensions v0.9.5
  [92d709cd] + IrrationalConstants v0.2.6
  [692b3bcd] + JLLWrappers v1.7.1
  [682c06a0] + JSON v1.2.0
  [8ac3fa9e] + LRUCache v1.6.2
  [9c8b4983] + LightXML v0.9.3
  [2ab3a3ac] + LogExpFunctions v0.3.29
  [93a63400] + MS_Import v0.9.3 `https://bitbucket.org/SSamanipour/ms_import.jl/src/master/#master`
  [e1d29d7a] + Missings v1.2.0
  [85f8d34a] + NCDatasets v0.14.9
  [6fe1bfb0] + OffsetArrays v1.17.0
  [bac558e1] + OrderedCollections v1.8.1
  [69de0a69] + Parsers v2.8.3
⌅ [aea7be01] + PrecompileTools v1.2.1
  [21216c6a] + Preferences v1.5.0
  [92933f4c] + ProgressMeter v1.11.0
  [43287f4e] + PtrArrays v1.3.0
  [a2af1166] + SortingAlgorithms v1.2.2
  [10745b16] + Statistics v1.11.1
  [82ae8749] + StatsAPI v1.7.1
  [2913bbd2] + StatsBase v0.34.7
  [ec057cc2] + StructUtils v2.5.1
  [3bb67fe8] + TranscodingStreams v0.11.3
  [1986cc42] + Unitful v1.25.1
⌅ [0234f1f7] + HDF5_jll v1.12.0+1
  [94ce4f54] + Libiconv_jll v1.18.0+0
⌃ [7243133f] + NetCDF_jll v400.701.400+0
⌅ [458c3c95] + OpenSSL_jll v1.1.23+1
  [02c8fc9c] + XML2_jll v2.15.1+0
  [0dad84c5] + ArgTools v1.1.2
  [56f22d72] + Artifacts v1.11.0
  [2a0f44e3] + Base64 v1.11.0
  [ade2ca70] + Dates v1.11.0
  [8ba89e20] + Distributed v1.11.0
  [f43a241f] + Downloads v1.6.0
  [7b1f6079] + FileWatching v1.11.0
  [b77e0a4c] + InteractiveUtils v1.11.0
  [b27032c2] + LibCURL v0.6.4
  [76f85450] + LibGit2 v1.11.0
  [8f399da3] + Libdl v1.11.0
  [37e2e46d] + LinearAlgebra 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
  [9abbd945] + Profile v1.11.0
  [9a3f8284] + Random v1.11.0
  [ea8e919c] + SHA v0.7.0
  [9e88b42a] + Serialization v1.11.0
  [6462fe0b] + Sockets v1.11.0
  [2f01184e] + SparseArrays 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
  [e66e0078] + CompilerSupportLibraries_jll v1.1.1+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
  [4536629a] + OpenBLAS_jll v0.3.27+1
  [bea87d4a] + SuiteSparse_jll v7.7.0+0
  [83775a58] + Zlib_jll v1.2.13+1
  [8e850b90] + libblastrampoline_jll v5.11.0+0
  [8e850ede] + nghttp2_jll v1.59.0+0
  [3f19e933] + p7zip_jll v17.4.0+2
        Info Packages marked with ⌃ and ⌅ have new versions available. Those with ⌃ may be upgradable, but those with ⌅ are restricted by compatibility constraints from upgrading. To see why use `status --outdated -m`
Precompiling project...
  ✗ NCDatasets
  ✗ MS_Import
  9 dependencies successfully precompiled in 5 seconds. 67 already precompiled.
  2 dependencies errored.
  For a report of the errors see `julia> err`. To retry use `pkg> precompile`

julia> err
PkgPrecompileError: The following 1 direct dependency failed to precompile:

MS_Import 

Failed to precompile MS_Import [93a63400-8ba1-11ea-364f-abd7f7f5e3cc] to "/home/ufechner/.julia/compiled/v1.11/MS_Import/jl_d3RwDg".
ERROR: LoadError: InitError: could not load library "/home/ufechner/.julia/artifacts/e30b3c936a16d04cd0d077799496ee57cf61317d/lib/libnetcdf.so"
libmbedtls.so.12: cannot open shared object file: No such file or directory
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/m2Pjh/src/products/library_generators.jl:63 [inlined]
  [4] __init__()
    @ NetCDF_jll ~/.julia/packages/NetCDF_jll/OWInW/src/wrappers/x86_64-linux-gnu.jl:14
  [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:2057
 [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] include
    @ ./Base.jl:562 [inlined]
 [22] 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, UInt128}}, source::String)
    @ Base ./loading.jl:2881
 [23] top-level scope
    @ stdin:6
during initialization of module NetCDF_jll
in expression starting at /home/ufechner/.julia/packages/NCDatasets/76uhE/src/NCDatasets.jl:1
in expression starting at stdin:6
ERROR: LoadError: Failed to precompile NCDatasets [85f8d34a-cbdd-5861-8df4-14fed0d494ab] to "/home/ufechner/.julia/compiled/v1.11/NCDatasets/jl_6YOlKa".
Stacktrace:
  [1] error(s::String)
    @ Base ./error.jl:35
  [2] compilecache(pkg::Base.PkgId, path::String, internal_stderr::IO, internal_stdout::IO, keep_loaded_modules::Bool; flags::Cmd, cacheflags::Base.CacheFlags, reasons::Dict{String, Int64}, loadable_exts::Nothing)
    @ Base ./loading.jl:3174
  [3] (::Base.var"#1110#1111"{Base.PkgId})()
    @ Base ./loading.jl:2579
  [4] mkpidlock(f::Base.var"#1110#1111"{Base.PkgId}, at::String, pid::Int32; kwopts::@Kwargs{stale_age::Int64, wait::Bool})
    @ FileWatching.Pidfile ~/.julia/juliaup/julia-1.11.7+0.x64.linux.gnu/share/julia/stdlib/v1.11/FileWatching/src/pidfile.jl:95
  [5] #mkpidlock#6
    @ ~/.julia/juliaup/julia-1.11.7+0.x64.linux.gnu/share/julia/stdlib/v1.11/FileWatching/src/pidfile.jl:90 [inlined]
  [6] trymkpidlock(::Function, ::Vararg{Any}; kwargs::@Kwargs{stale_age::Int64})
    @ FileWatching.Pidfile ~/.julia/juliaup/julia-1.11.7+0.x64.linux.gnu/share/julia/stdlib/v1.11/FileWatching/src/pidfile.jl:116
  [7] #invokelatest#2
    @ ./essentials.jl:1057 [inlined]
  [8] invokelatest
    @ ./essentials.jl:1052 [inlined]
  [9] maybe_cachefile_lock(f::Base.var"#1110#1111"{Base.PkgId}, pkg::Base.PkgId, srcpath::String; stale_age::Int64)
    @ Base ./loading.jl:3698
 [10] maybe_cachefile_lock
    @ ./loading.jl:3695 [inlined]
 [11] _require(pkg::Base.PkgId, env::String)
    @ Base ./loading.jl:2565
 [12] __require_prelocked(uuidkey::Base.PkgId, env::String)
    @ Base ./loading.jl:2388
 [13] #invoke_in_world#3
    @ ./essentials.jl:1089 [inlined]
 [14] invoke_in_world
    @ ./essentials.jl:1086 [inlined]
 [15] _require_prelocked(uuidkey::Base.PkgId, env::String)
    @ Base ./loading.jl:2375
 [16] macro expansion
    @ ./loading.jl:2314 [inlined]
 [17] macro expansion
    @ ./lock.jl:273 [inlined]
 [18] __require(into::Module, mod::Symbol)
    @ Base ./loading.jl:2271
 [19] #invoke_in_world#3
    @ ./essentials.jl:1089 [inlined]
 [20] invoke_in_world
    @ ./essentials.jl:1086 [inlined]
 [21] require(into::Module, mod::Symbol)
    @ Base ./loading.jl:2260
 [22] include
    @ ./Base.jl:562 [inlined]
 [23] 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, UInt128}}, source::Nothing)
    @ Base ./loading.jl:2881
 [24] top-level scope
    @ stdin:6
in expression starting at /home/ufechner/.julia/packages/MS_Import/vH28N/src/MS_Import.jl:1
in expression starting at stdin:

julia> Failed to precompile MS_Import [93a63400-8ba1-11ea-364f-abd7f7f5e3cc] to "/home/ufechner/.julia/compiled/v1.11/MS_Import/jl_d3RwDg".
ERROR: LoadError: InitError: could not load library "/home/ufechner/.julia/artifacts/e30b3c936a16d04cd0d077799496ee57cf61317d/lib/libnetcdf.so"
libmbedtls.so.12: cannot open shared object file: No such file or directory

Does anybody know what could be the reason for this error:

Failed to precompile MS_Import [93a63400-8ba1-11ea-364f-abd7f7f5e3cc] to "/home/ufechner/.julia/compiled/v1.11/MS_Import/jl_d3RwDg".
ERROR: LoadError: InitError: could not load library "/home/ufechner/.julia/artifacts/e30b3c936a16d04cd0d077799496ee57cf61317d/lib/libnetcdf.so"
libmbedtls.so.12: cannot open shared object file: No such file or directory

?

1 Like

On my machine (Windows 11, Julia 1.11.5), installing MS_Import also fails precompilation, but with output

[ Info: Precompiling MS_Import [93a63400-8ba1-11ea-364f-abd7f7f5e3cc]
WARNING: Method definition array2mat_(Any) in module MS_Import at (...)\.julia\packages\MS_Import\vH28N\src\CommunFun.jl:9 overwritten on the same line (check for duplicate calls to `include`).
ERROR: Method overwriting is not permitted during Module precompilation. Use `__precompile__(false)` to opt-out of precompilation.
┌ Info: Skipping precompilation due to precompilable error. Importing MS_Import [93a63400-8ba1-11ea-364f-abd7f7f5e3cc].
└   exception = Error when precompiling module, potentially caused by a __precompile__(false) declaration in the module.

presumably related to ERROR: Method overwriting is not permitted during Module precompilation. As indicated, it then just skips precompilation, and using MS_Import seems to work.

For SAFD I get a weird

julia> Pkg.add(PackageSpec(url="https://bitbucket.org/SSamanipour/safd.jl/src/master/"))
ERROR: GitError(Code:ENOTFOUND, Class:Repository, could not find repository at '(...)\.julia\clones\837030787967441027')

even though this directory is created by the add. This might be related to the LibGit2 errors in the original post. I’m inclined to blame this on the fact that this repository is almost 4 GB. Pulling it via git clone and then locally installing via Pkg.add(path="...") gave no problems.

1 Like

That’s 4-year old: Release NetCDF-v400.701.400+0 · JuliaBinaryWrappers/NetCDF_jll.jl · GitHub

1 Like

Thank you very much. How did you managed to get MS_Import to work? On my system it keeps complaining about precompilation, even after restarting Julia.

Never mind, I got it to work, thanks

1 Like

I guess, other compat ranges need to be adapted here: