Package used to work, after update to 1.6 it doesnt anymore

ERROR: LoadError: InitError: could not load library "/home/meck/.julia/artifacts/0a7f440ba143b238cc3dd0def2956d34d76755f3/lib/libnetcdf.so"
libmbedcrypto.so.5: cannot open shared object file: No such file or directory
Stacktrace:
 [1] dlopen(s::String, flags::UInt32)
   @ Base.Libc.Libdl ./libdl.jl:114
 [2] macro expansion
   @ ~/.julia/packages/JLLWrappers/WnWcZ/src/products/library_generators.jl:63 [inlined]
 [3] __init__()
   @ NetCDF_jll ~/.julia/packages/NetCDF_jll/xjKDT/src/wrappers/x86_64-linux-gnu.jl:14
 [4] top-level scope (repeats 2 times)
   @ none:1
during initialization of module NetCDF_jll
in expression starting at /home/meck/.julia/packages/NCDatasets/eDnxY/src/NCDatasets.jl:1
ERROR: LoadError: Failed to precompile NCDatasets [85f8d34a-cbdd-5861-8df4-14fed0d494ab] to /home/meck/.julia/compiled/v1.6/NCDatasets/jl_o0m8sm.
Stacktrace:
 [1] compilecache(pkg::Base.PkgId, path::String, internal_stderr::Base.TTY, internal_stdout::Base.TTY)
   @ Base ./loading.jl:1360
 [2] top-level scope (repeats 2 times)
   @ none:1
in expression starting at /home/meck/Documents/Bachelor Arbeit/Repos/Oceananigans.jl/src/Oceananigans.jl:1
ERROR: Failed to precompile Oceananigans [9e8cae18-63c1-5223-a75c-80ca9d6e9a09] to /home/meck/.julia/compiled/v1.6/Oceananigans/jl_FWrYAi.
Stacktrace:
 [1] compilecache(pkg::Base.PkgId, path::String, internal_stderr::Base.TTY, internal_stdout::Base.TTY)
   @ Base ./loading.jl:1360

Try build NCDatasets (in pkg-mode)

1 Like
(Oceananigans) pkg> build NCDatasets
Precompiling project...
  Progress [========================================>]  1/1
  ✗ Oceananigans
0 dependencies successfully precompiled in 7 seconds (75 already precompiled)
1 dependency errored

(Oceananigans) pkg> add NCDatasets
   Resolving package versions...
  No Changes to `~/Documents/Bachelor Arbeit/Repos/Oceananigans.jl/Project.toml`
  No Changes to `~/Documents/Bachelor Arbeit/Repos/Oceananigans.jl/Manifest.toml`
Precompiling project...
  Progress [========================================>]  1/1
  ✗ Oceananigans
0 dependencies successfully precompiled in 7 seconds (75 already precompiled)
1 dependency errored

Not sure. build NetCDF_jll?

BTW Oceananigans installs fine on my linux machine with 1.6, and the file `~/.julia/artifacts/0a7f440ba143b238cc3dd0def2956d34d76755f3/lib/libnetcdf.so" exists on my machine.

Hm okay thanks for testing anyway. Do you know what exactly 1 dependency errored means? Does it mean Oceananigans?

I would suspect that it is a dependency. But not so helpful… Judging by your first post is is one of the two I suggested to re-build.

Could it be that I broke something with git stash? I wanted to pull the newest updates from the repository, without committing my changes, so I ran git stash.
I’m asking bc that was something I did the first time today.

If you don’t have objections to this, you could try to remove ~/.julia. That can solve a lot of cache-related problems.

It can also be that the package from which you’re loading the environment is broken (Unclear error message when adding/updating dependencies on broken module · Issue #2381 · JuliaLang/Pkg.jl · GitHub). But, given that you said the package works, that’s probably not it.

What’s the value of the environment variable LD_LIBRARY_PATH? Inside Julia run

ENV["LD_LIBRARY_PATH"]

It’d be useful if you could run strace on julia and find out what file is missing. Also, how did you install Julia?

That won’t do much: mbedtls comes with julia in v1.6, so the error is much earlier than NCDatasets

I am getting this one:

julia> @show ENV["LD_LIBRARY_PATH"]
ERROR: KeyError: key "LD_LIBRARY_PATH" not found
Stacktrace:
 [1] access_env
   @ ./env.jl:43 [inlined]
 [2] getindex(#unused#::Base.EnvDict, k::String)
   @ Base ./env.jl:79
 [3] top-level scope
   @ show.jl:955

But versioninfo() doesnt give me any info about the environment at all. So I guess something has been broken there?

julia> versioninfo()
Julia Version 1.6.0
Commit f9720dc2eb* (2021-03-24 12:55 UTC)
Platform Info:
  OS: Linux (x86_64-pc-linux-gnu)
  CPU: Intel(R) Core(TM) i5-8350U CPU @ 1.70GHz
  WORD_SIZE: 64
  LIBM: libopenlibm
  LLVM: libLLVM-11.1.0 (ORCJIT, skylake)

I installed Julia through pacman with pacman -S julia

So you are using Arch Linux? I strongly recommend to use aur/julia-bin instead. The fact you’re using the package from Arch Linux repositories is very likely the culprit here

1 Like

Ok I reinstalled from the binary and now it actually seems to work. Thank you!

To be more precise, this was the package I had to choose instead of the community one.