Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

NetCDF_jll broken on v1.8.0-rc1 on macOS and linux #182

Closed
aramirezreyes opened this issue Jul 7, 2022 · 3 comments
Closed

NetCDF_jll broken on v1.8.0-rc1 on macOS and linux #182

aramirezreyes opened this issue Jul 7, 2022 · 3 comments

Comments

@aramirezreyes
Copy link
Contributor

Describe the bug

NetCDF_jll appears to be broken on v1.8.0-rc1
To Reproduce

pkg> add NetCDF_jll
julia> using NetCDF_jll

Expected behavior
Library should load but it errors.

This also affects NCDatasets
Environment

julia> versioninfo()
Julia Version 1.8.0-rc1
Commit 6368fdc656 (2022-05-27 18:33 UTC)
Platform Info:
OS: Linux (x86_64-pc-linux-gnu)
CPU: 256 × AMD EPYC 7713 64-Core Processor
WORD_SIZE: 64
LIBM: libopenlibm
LLVM: libLLVM-13.0.1 (ORCJIT, znver3)
Threads: 1 on 256 virtual cores
Environment:
LD_LIBRARY_PATH = /global/common/software/nersc/pm-2021q4/sw/darshan/3.3.1/lib:/opt/cray/pe/gcc/11.2.0/snos/lib64:/opt/cray/pe/papi/6.0.0.14/lib64:/opt/cray/libfabric/1.11.0.4.116/lib64
JULIA_REVISE_POLL = 1

Versions:

julia> using Pkg; Pkg.status(mode=PKGMODE_MANIFEST)
Status /pscratch/sd/a/aramreye/jl_gAh1Gd/Manifest.toml
[179af706] CFTime v0.1.2
[34da2185] Compat v4.1.0
[864edb3b] DataStructures v0.18.13
[692b3bcd] JLLWrappers v1.4.1
[85f8d34a] NCDatasets v0.12.5
[bac558e1] OrderedCollections v1.4.1
[21216c6a] Preferences v1.3.0
⌅ [0234f1f7] HDF5_jll v1.12.0+1
⌅ [7243133f] NetCDF_jll v400.702.400+0
[458c3c95] OpenSSL_jll v1.1.16+0
[0dad84c5] ArgTools v1.1.1
[56f22d72] Artifacts
[2a0f44e3] Base64
[ade2ca70] Dates
[f43a241f] Downloads v1.6.0
[7b1f6079] FileWatching
[b77e0a4c] InteractiveUtils
[b27032c2] LibCURL v0.6.3
[76f85450] LibGit2
[8f399da3] Libdl
[37e2e46d] LinearAlgebra
[56ddb016] Logging
[d6f4376e] Markdown
[ca575930] NetworkOptions v1.2.0
[44cfe95a] Pkg v1.8.0
[de0858da] Printf
[3fa0cd96] REPL
[9a3f8284] Random
[ea8e919c] SHA v0.7.0
[9e88b42a] Serialization
[6462fe0b] Sockets
[fa267f1f] TOML v1.0.0
[a4e569a6] Tar v1.10.0
[cf7118a7] UUIDs
[4ec0a83e] Unicode
[e66e0078] CompilerSupportLibraries_jll v0.5.2+0
[deac9b47] LibCURL_jll v7.81.0+0
[29816b5a] LibSSH2_jll v1.10.2+0
[c8ffd9c3] MbedTLS_jll v2.28.0+0
[14a3606d] MozillaCACerts_jll v2022.2.1
[4536629a] OpenBLAS_jll v0.3.20+0
[83775a58] Zlib_jll v1.2.12+3
[8e850b90] libblastrampoline_jll v5.1.0+0
[8e850ede] nghttp2_jll v1.41.0+1
[3f19e933] p7zip_jll v17.4.0+0

Full output

julia> using NetCDF_jll
ERROR: InitError: could not load library "/global/homes/a/aramreye/.julia/artifacts/0a7f440ba143b238cc3dd0def2956d34d76755f3/lib/libnetcdf.so"
libmbedtls.so.13: 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:117
  [2] dlopen(s::String, flags::UInt32)
    @ Base.Libc.Libdl ./libdl.jl:116
  [3] macro expansion
    @ ~/.julia/packages/JLLWrappers/QpMQW/src/products/library_generators.jl:54 [inlined]
  [4] __init__()
    @ NetCDF_jll ~/.julia/packages/NetCDF_jll/xjKDT/src/wrappers/x86_64-linux-gnu.jl:14
  [5] _include_from_serialized(pkg::Base.PkgId, path::String, depmods::Vector{Any})
    @ Base ./loading.jl:814
  [6] _require_search_from_serialized(pkg::Base.PkgId, sourcepath::String, depth::Int64)
    @ Base ./loading.jl:923
  [7] _require_search_from_serialized
    @ ./loading.jl:895 [inlined]
  [8] _require(pkg::Base.PkgId)
    @ Base ./loading.jl:1180
  [9] _require_prelocked(uuidkey::Base.PkgId)
    @ Base ./loading.jl:1091
 [10] macro expansion
    @ ./loading.jl:1071 [inlined]
 [11] macro expansion
    @ ./lock.jl:223 [inlined]
 [12] require(into::Module, mod::Symbol)
    @ Base ./loading.jl:1035
during initialization of module NetCDF_jll

@aramirezreyes
Copy link
Contributor Author

This config appears to work

⌃ [85f8d34a] NCDatasets v0.11.9
  [7243133f] NetCDF_jll v400.802.103+0

@Alexander-Barth
Copy link
Owner

Yes, this is a know issue and due to fact that we do not have a working updated NetCDF_jll on Windows (Unidata/netcdf-c#2248, JuliaPackaging/Yggdrasil#4511). If I would mark NCDatasets compatible with v400.802.103+0, then NCDatasets will stop to work on windows "out of the box" (you will need to pin NetCDF_jll, #164 (comment)). My plan is to delay the upgrade to NetCDF_jll v400.802.103+0 until julia 1.8 is officially released (or NetCDF_jll works again on Windows) because on Linux, NetCDF_jll v400.802.103+0 will be required for julia 1.8. Part of the issue is that we need the same library version on all platforms.

Besides not already supporting julia 1.8, another issue of this approach is Mac M1 users need to install an old version of NCDatasets manually (#150 (comment))

In any case, I am open for suggestions what should be the best strategy. I don't have any statistics which OS NCDatasets user actually use (which would be quite helpful).

@Alexander-Barth
Copy link
Owner

This should be fixed by the new NetCDF_jll 400.902.5 (for all major OSes)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants