Most recent binary artifact (GMT_jll) is not being updated, nor installed on fresh installs of GMT.jl

Hi,

Don’t know what is happening but the new builds of the GMT_jll artifact are not being installed. The artifact, 6.5.3+1, was created fine (GitHub - JuliaBinaryWrappers/GMT_jll.jl at GMT-v6.5.3+1) but what keeps being installed (by the CI for example) is the two versions behind 6.5.2+2 and indeed that’s what I find in the .julia\environments\v1.10\Manifest.toml.

Is there anything on my side that I can do?

Hard to say anything without being more specific, it works for me:

(tmp) pkg> activate --temp
  Activating new project at `/var/folders/v2/hmy3kzgj4tb3xsy8qkltxd0r0000gn/T/jl_qhelqJ`

(jl_qhelqJ) pkg> add GMT_jll
[...]

(jl_qhelqJ) pkg> st -m GMT_jll
Status `/private/var/folders/v2/hmy3kzgj4tb3xsy8qkltxd0r0000gn/T/jl_qhelqJ/Manifest.toml`
  [b68b8c3f] GMT_jll v6.5.3+1

You mention a manifest: if you have a checked in manifest and you’re simply instantiating it without updating and re-resolving the environment (you didn’t clarify what you’re doing) then there’s no surprise you just get the same version as what’s in the manifest. If you’re doing something else, please clarify.

Thanks,
If I repeat those steps in my WSL, I get the same thing. But I am not trying to install the GMT_jll directly. It is a dependency of GMT.jl and should be updated when a new one is available.
What do you get if you do add GMT instead and after do this:

gmt("psxy -")

which prints the building date

gmt psxy [core] 6.6.0_58603ac-dirty_2025.01.30 [64-bit] [MP] - Plot lines, polygons, and symbols in 2-D

Now that’s correct but that’s because it is in my developing environment where I build the GMT binaries myself. But if I do ir in a codespaces install, even after doing a up, I get

gmt psxy [core] 6.6.0_2629b65_2024.07.25 [64-bit] [MP] - Plot lines, polygons, and symbols in 2-D

which the version v6.5.2+2.

The same installation version can be seen in the last CI run

I am not changing manifests, just looked at them when trying to understand why the GMT_jll dependency is not updated.

Not unexpectedly, after having installed the artifact directly now my WSL installation is reporting the right date.

gmt psxy [core] 6.6.0_05824af_2025.01.30 [64-bit] [MP] - Plot lines, polygons, and symbols in 2-D

So to test this issue (the version that gets installed with GMT.jl) you’ll have to remove the GMT_jll first.

(post deleted by author)

I’m going to guess the issue is that someone bumped the compat bound of GDAL_jll to v302.1000 in GMT_jll, but GMT doesn’t allow that version:

Right, that happened. However, releasing the upper bound of GDAL_jll in GMT.jl still doesn’t solve this issue. By imposing a GDAL_jll compat bound to v302.1000 I get these conflicts.

Libtiff_jll [89763e89] log:
 ├─possible versions are: 4.0.10-4.7.1 or uninstalled
 ├─restricted by compatibility requirements with Leptonica_jll [6a1430e4] to versions: 4.3.0-4.5.1
 │ └─Leptonica_jll [6a1430e4] log:
 │   ├─possible versions are: 1.78.0-1.83.1 or uninstalled
 │   └─restricted to versions 1.82.0-1 by GMT [5752ebe1], leaving only versions: 1.82.0-1.83.1
 │     └─GMT [5752ebe1] log:
 │       ├─possible versions are: 1.25.0 or uninstalled
 │       └─GMT [5752ebe1] is fixed to version 1.25.0
 └─restricted by compatibility requirements with GDAL_jll [a7073274] to versions: 4.7.0-4.7.1 — no versions left
   └─GDAL_jll [a7073274] log:
     ├─possible versions are: 3.0.3-302.1000.100 or uninstalled
     └─restricted to versions 302.1000.0-302 by GMT [5752ebe1], leaving only versions: 302.1000.0-302.1000.100
       └─GMT [5752ebe1] log: see above

Opened a PR to update Leptonica_jll to see if it finally solves this.

Uf, it now works after the merge of the new Leptonica_jll. At least the CI’s now install the latest GMT_jll
image

Thanks. Learnt a bit more of this not obvious compat system.

1 Like