ArchGDAL.jl install error,

I got the current error after installing ArchGDAL.jl. It works last week, and got the error one today. I have run rm ArchGDAL and run ‘add ArchGDAL’, the error is still the same.

 using ArchGDAL
[ Info: Precompiling ArchGDAL [c9ce4bd3-c3d5-55b8-8973-c0e20141b8c3]
ERROR: LoadError: InitError: could not load library "/home/liye/.julia/artifacts/eaec6eb6442b5eb5d585ffe7a08a98be7cc0c495/lib/libgdal.so"
libproj.so.19: cannot open shared object file: No such file or directory
Stacktrace:
 [1] dlopen(::String, ::UInt32; throw_error::Bool) at /buildworker/worker/package_linux64/build/usr/share/julia/stdlib/v1.4/Libdl/src/Libdl.jl:109
 [2] dlopen at /buildworker/worker/package_linux64/build/usr/share/julia/stdlib/v1.4/Libdl/src/Libdl.jl:109 [inlined] (repeats 2 times)
 [3] __init__() at /home/liye/.julia/packages/GDAL_jll/VJE6p/src/wrappers/x86_64-linux-gnu-cxx11.jl:680
 [4] _include_from_serialized(::String, ::Array{Any,1}) at ./loading.jl:697
 [5] _require_search_from_serialized(::Base.PkgId, ::String) at ./loading.jl:781
 [6] _require(::Base.PkgId) at ./loading.jl:1006
 [7] require(::Base.PkgId) at ./loading.jl:927
 [8] require(::Module, ::Symbol) at ./loading.jl:922
 [9] include(::Module, ::String) at ./Base.jl:377
 [10] top-level scope at none:2
 [11] eval at ./boot.jl:331 [inlined]
 [12] eval(::Expr) at ./client.jl:449
 [13] top-level scope at ./none:3
during initialization of module GDAL_jll
in expression starting at /home/liye/.julia/packages/GDAL/tKD0i/src/GDAL.jl:4
ERROR: LoadError: Failed to precompile GDAL [add2ef01-049f-52c4-9ee2-e494f65e021a] to /home/liye/.julia/compiled/v1.4/GDAL/6JYbv_XlnW1.ji.
Stacktrace:
 [1] error(::String) at ./error.jl:33
 [2] compilecache(::Base.PkgId, ::String) at ./loading.jl:1272
 [3] _require(::Base.PkgId) at ./loading.jl:1029
 [4] require(::Base.PkgId) at ./loading.jl:927
 [5] require(::Module, ::Symbol) at ./loading.jl:922
 [6] include(::Module, ::String) at ./Base.jl:377
 [7] top-level scope at none:2
 [8] eval at ./boot.jl:331 [inlined]
 [9] eval(::Expr) at ./client.jl:449
 [10] top-level scope at ./none:3
in expression starting at /home/liye/.julia/packages/ArchGDAL/lvsJK/src/ArchGDAL.jl:3
ERROR: Failed to precompile ArchGDAL [c9ce4bd3-c3d5-55b8-8973-c0e20141b8c3] to /home/liye/.julia/compiled/v1.4/ArchGDAL/MCIiB_XlnW1.ji.
Stacktrace:
 [1] error(::String) at ./error.jl:33
 [2] compilecache(::Base.PkgId, ::String) at ./loading.jl:1272
 [3] _require(::Base.PkgId) at ./loading.jl:1029
 [4] require(::Base.PkgId) at ./loading.jl:927
 [5] require(::Module, ::Symbol) at ./loading.jl:922

System information is as follows,

Julia Version 1.4.2
Commit 44fa15b150* (2020-05-23 18:35 UTC)
Platform Info:
  OS: Linux (x86_64-pc-linux-gnu)
  CPU: Intel(R) Xeon(R) Gold 6240 CPU @ 2.60GHz
  WORD_SIZE: 64
  LIBM: libopenlibm
  LLVM: libLLVM-8.0.1 (ORCJIT, skylake)

CC: @visr

Could you share the versions of ArchGDAL, GDAL, GDAL_jll and PROJ_jll you are using? Recently a newer build of GDAL_jll broke some links due to needing a newer PROJ_jll, but since it is the same version (different build number) I cannot tell Pkg to keep them separate.

But the latest ArchGDAL, v0.4.2, should work, since it requires the latest GDAL_jll, which requires the newest GDAL_jll and PROJ_jll.

The versions information is as follows.
ArchGDAL v0.4.0

The version of GDAL_jll and PROJ_jll.

[[GDAL]]
deps = ["CEnum", "GDAL_jll", "PROJ_jll"]
git-tree-sha1 = "a83201bc36b81a68ab67d9509b53c48e1c94e218"
uuid = "add2ef01-049f-52c4-9ee2-e494f65e021a"
version = "1.1.2"

[[GDAL_jll]]
deps = ["GEOS_jll", "LibCURL_jll", "Libdl", "OpenJpeg_jll", "PROJ_jll", "Pkg", "SQLite_jll", "Zlib_jll"]
git-tree-sha1 = "99122dd4d2ce4998a0bac7532d3f400059479571"
uuid = "a7073274-a066-55f0-b90d-d619367d196c"
version = "3.0.4+1"

[[PROJ_jll]]
deps = ["Libdl", "Pkg", "SQLite_jll"]
git-tree-sha1 = "9f7cfb270831958a155a858fc5fd66bdd654b3a8"
uuid = "58948b4f-47e0-5654-a9ad-f609743f8632"
version = "6.3.2+1"

(@v1.4) pkg> rm ArchGDAL
   Updating `~/.julia/environments/v1.4/Project.toml`
  [c9ce4bd3] - ArchGDAL v0.4.0
   Updating `~/.julia/environments/v1.4/Manifest.toml`
 [no changes]

(@v1.4) pkg> add ArchGDAL
   Updating registry at `~/.julia/registries/General`
   Updating git-repo `https://github.com/JuliaRegistries/General.git`
  Resolving package versions...
   Updating `~/.julia/environments/v1.4/Project.toml`
  [c9ce4bd3] + ArchGDAL v0.4.0
   Updating `~/.julia/environments/v1.4/Manifest.toml`
 [no changes]

(@v1.4) pkg> st
Status `~/.julia/environments/v1.4/Project.toml`
  [c9ce4bd3] ArchGDAL v0.4.0
  [3e78a19a] Bukdu v0.4.14
  [cf35fbd7] GeoInterface v0.5.4
  [7d2e0ab2] Hotspot v0.3.0 [`~/julia_dev/hotspot`]
  [682c06a0] JSON v0.21.0

Julia version

Julia Version 1.4.2
Commit 44fa15b150* (2020-05-23 18:35 UTC)
Platform Info:
  OS: Linux (x86_64-pc-linux-gnu)
  CPU: Intel(R) Xeon(R) Gold 6240 CPU @ 2.60GHz
  WORD_SIZE: 64
  LIBM: libopenlibm
  LLVM: libLLVM-8.0.1 (ORCJIT, skylake)

Compile error information:

julia> using ArchGDAL
[ Info: Precompiling ArchGDAL [c9ce4bd3-c3d5-55b8-8973-c0e20141b8c3]
ERROR: LoadError: InitError: could not load library "/home/liye/.julia/artifacts/eaec6eb6442b5eb5d585ffe7a08a98be7cc0c495/lib/libgdal.so"
libproj.so.19: cannot open shared object file: No such file or directory
Stacktrace:
 [1] dlopen(::String, ::UInt32; throw_error::Bool) at /buildworker/worker/package_linux64/build/usr/share/julia/stdlib/v1.4/Libdl/src/Libdl.jl:109
 [2] dlopen at /buildworker/worker/package_linux64/build/usr/share/julia/stdlib/v1.4/Libdl/src/Libdl.jl:109 [inlined] (repeats 2 times)
 [3] __init__() at /home/liye/.julia/packages/GDAL_jll/VJE6p/src/wrappers/x86_64-linux-gnu-cxx11.jl:680
 [4] _include_from_serialized(::String, ::Array{Any,1}) at ./loading.jl:697
 [5] _require_search_from_serialized(::Base.PkgId, ::String) at ./loading.jl:781
 [6] _require(::Base.PkgId) at ./loading.jl:1006
 [7] require(::Base.PkgId) at ./loading.jl:927
 [8] require(::Module, ::Symbol) at ./loading.jl:922
 [9] include(::Module, ::String) at ./Base.jl:377
 [10] top-level scope at none:2
 [11] eval at ./boot.jl:331 [inlined]
 [12] eval(::Expr) at ./client.jl:449
 [13] top-level scope at ./none:3
during initialization of module GDAL_jll
in expression starting at /home/liye/.julia/packages/GDAL/tKD0i/src/GDAL.jl:4
ERROR: LoadError: Failed to precompile GDAL [add2ef01-049f-52c4-9ee2-e494f65e021a] to /home/liye/.julia/compiled/v1.4/GDAL/6JYbv_XlnW1.ji.
Stacktrace:
 [1] error(::String) at ./error.jl:33
 [2] compilecache(::Base.PkgId, ::String) at ./loading.jl:1272
 [3] _require(::Base.PkgId) at ./loading.jl:1029
 [4] require(::Base.PkgId) at ./loading.jl:927
 [5] require(::Module, ::Symbol) at ./loading.jl:922
 [6] include(::Module, ::String) at ./Base.jl:377
 [7] top-level scope at none:2
 [8] eval at ./boot.jl:331 [inlined]
 [9] eval(::Expr) at ./client.jl:449
 [10] top-level scope at ./none:3
in expression starting at /home/liye/.julia/packages/ArchGDAL/lvsJK/src/ArchGDAL.jl:3
ERROR: Failed to precompile ArchGDAL [c9ce4bd3-c3d5-55b8-8973-c0e20141b8c3] to /home/liye/.julia/compiled/v1.4/ArchGDAL/MCIiB_XlnW1.ji.
Stacktrace:
 [1] error(::String) at ./error.jl:33
 [2] compilecache(::Base.PkgId, ::String) at ./loading.jl:1272
 [3] _require(::Base.PkgId) at ./loading.jl:1029
 [4] require(::Base.PkgId) at ./loading.jl:927
 [5] require(::Module, ::Symbol) at ./loading.jl:922

Ah yes so it is indeed what I thought. GDAL_jll 3.0.4+1 and PROJ_jll 6.3.2+1 don’t work with each other. But since GDAL_jll 3.0.4+0 does work with that PROJ_jll, I cannot tell Pkg about this, since it doesn’t know about build numbers.

Do you know why you are stuck on older GDAL and ArchGDAL releases, are other packages blocking them? What happens if you add GDAL@1.1.3 ArchGDAL@0.4.2, i.e. the latest ones? These should work well.

Thank you!
>add ArchGDAL@0.4.1 works.