Hi Folks,
I’m using Julia 1.11.0-rc3 on Fedora 41 from JupyterLab. I can’t get the GMT package to build. It worked in March almost a year ago, but I have updated Julia since then. The process looks like this:
julia> Pkg.build(“GMT”)
Building GMT → ~/.julia/scratchspaces/44cfe95a-1eb2-52ea-b672-e2afdf69b78f/3dd3b53fc9d59d5689c0b5e4ba8ac254218abc79/build.log
Precompiling project…
✗ GMT
0 dependencies successfully precompiled in 3 seconds. 519 already precompiled.
1 dependency 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:
GMT
Failed to precompile GMT [5752ebe1-31b9-557e-87aa-f909b540aa54] to “/home/jlyle/.julia/compiled/v1.11/GMT/jl_1hByQk”.
/home/jlyle/.julia/artifacts/c313bd4f6c64c76b6b6e857e14386b00385c2020/bin/gmt: /lib64/libtiff.so.6: version LIBTIFF_4.6.1' not found (required by /home/jlyle/.julia/artifacts/94430821ebeeac5f4e438c79b541c0e5408e74de/lib/libgdal.so.36) ERROR: LoadError: failed process: Process(setenv(
/home/jlyle/.julia/artifacts/c313bd4f6c64c76b6b6e857e14386b00385c2020/bin/gmt --version`,[“_CE_M=”, “VTE_VERSION=7802”, “EDITOR=/usr/bin/nano”, "PATH=/home/jlyle/.julia/artifacts/8c83eff7b29912d7bd1e42aef04f7822159494c3/bin:/home/jlyle/.julia/artifacts/f7ee295b548ab3df8b28b6d67cd65b5eeef8dad1/bin:
And runs on for many lines before ending with
“COLORTERM=truecolor”, “HOSTNAME=harry”]), ProcessExited(1)) [1]
Stacktrace:
[1] pipeline_error
@ ./process.jl:598 [inlined]
[2] (::Base.var"#888#889"{Base.Process})()
@ Base ./process.jl:356
[3] iterate(itr::Base.EachLine{Base.PipeEndpoint}, state::Nothing)
@ Base ./io.jl:1236
[4] iterate
@ ./io.jl:1236 [inlined]
[5] _collect(cont::UnitRange{Int64}, itr::Base.EachLine{Base.PipeEndpoint}, ::Base.HasEltype, isz::Base.SizeUnknown)
@ Base ./array.jl:716
[6] collect
@ ./array.jl:705 [inlined]
[7] readlines(s::Cmd; kw::@Kwargs{})
@ Base ./io.jl:708
[8] top-level scope
@ ~/.julia/packages/GMT/UMxJJ/src/GMT.jl:38
[9] top-level scope
@ stdin:4
in expression starting at /home/jlyle/.julia/packages/GMT/UMxJJ/src/GMT.jl:1
in expression starting at stdin:
I’m guessing that not finding LIBTIFF is the trigger for the error. LIBTIFF is a library for dealing with TIFF images that says it is in alpha but is also version 4.6.x. Trying
LIBTIFF itself seems to be a Linux library and LIBTIFF.jl is just a wrapper to call it. Checking on that.
(julia-1-8-2) [jlyle@harry ~]$ sudo dnf info LIBTIFF
Updating and loading repositories:
Repositories loaded.
Installed packages
Name : libtiff
Epoch : 0
Version : 4.6.0
Release : 6.fc41
Architecture : x86_64
Installed size : 606.0 KiB
Source : libtiff-4.6.0-6.fc41.src.rpm
It seems I have the package installed, but I have version 4.6.0 and GMT wants 4.6.1? dnf update reports nothing to do. 4.6.0 seems to be the best I can get
I tried doing the Julia Pkg.add(“Libtiff_jll”) That tried to update to Libtiff_jll v4.7.0+0 and then triggered the same error about `LIBTIFF_4.6.1’ not found.
The LIBTIFF.jl page says to try Pkg.clone("git@github.com:pglock/LIBTIFF.jl.git")
That just tells me the clone is not defined in Pkg.
Does anyone have a clue how to fix this?
Ad Astra,
Jack Lyle