Skip to content

Bump the GMT version to 6.6.0 in CI - #4018

Merged
seisman merged 5 commits into
mainfrom
gmt/6.6.0
Sep 29, 2025
Merged

Bump the GMT version to 6.6.0 in CI#4018
seisman merged 5 commits into
mainfrom
gmt/6.6.0

Conversation

@seisman

Copy link
Copy Markdown
Member

See checklist at #4017.

Previous PR at #2962.

@seismanseisman added this to the 0.17.0 milestone Jul 27, 2025
@seismanseisman added maintenance Boring but important stuff for the core devs run/benchmark Trigger the benchmark workflow in PRs labels Jul 27, 2025
@seisman

Copy link
Copy Markdown
MemberAuthor

It seems there are conflicts between GMT and contextily.

@weiji14

Copy link
Copy Markdown
Member

It seems there are conflicts between GMT and contextily.

Yes, GMT 6.6.0 was built on GDAL 3.11, and contextily depends on rasterio which doesn't support GDAL 3.11 yet. Need to wait for conda-forge/rasterio-feedstock#332

Details
 error libmamba Could not solve for environment specs
The following packages are incompatible
├─ contextily =* * is installable with the potential options
│ ├─ contextily [0.9.0|0.9.2] would require
│ │ └─ python =2.7 * with the potential options
│ │ └─ libgdal [>=3.7.2,<3.8.0a0 *|>=3.7.3,<3.8.0a0 *], which can be installed (as previously explained);
│ ├─ rasterio [1.4.2|1.4.3] would require
│ │ └─ libgdal-core [>=3.10.0,<3.11.0a0 *|>=3.10.2,<3.11.0a0 *] with the potential options
│ │ ├─ libgdal-core [3.10.2|3.10.3|3.9.3], which can be installed (as previously explained);
│ │ ├─ libgdal-core [3.10.0|3.10.1|3.10.2|3.9.2|3.9.3], which can be installed (as previously explained);
│ │ └─ libgdal-core 3.10.3, which can be installed;
│ ├─ rasterio 1.4.2 would require
│ │ └─ libgdal-core >=3.9.3,<3.10.0a0 *, which can be installed (as previously explained);
│ ├─ rasterio [1.0.23|1.0.24|...|1.1.2] would require
│ │ └─ libgdal [>=2.4.1,<2.5.0a0 *|>=2.4.2,<2.5.0a0 *|>=2.4.3,<2.5.0a0 *|>=3.0.1,<3.1.0a0 *|>=3.0.2,<3.1.0a0 *] with the potential options
│ │ ├─ libgdal [2.4.1|2.4.2|2.4.3|3.0.1|3.0.2] would require
│ │ │ └─ geos >=3.7.2,<3.7.3.0a0 *, which can be installed;
│ │ ├─ libgdal [2.4.4|3.0.2|3.0.3|3.0.4] would require
│ │ │ └─ geos >=3.8.0,<3.8.1.0a0 *, which can be installed;
│ │ └─ libgdal [2.4.4|3.0.4|...|3.2.1] would require
│ │ └─ geos >=3.8.1,<3.8.2.0a0 *, which can be installed;
│ ├─ rasterio [1.1.3|1.1.4|1.1.5] would require
│ │ └─ libgdal [>=2.4.4,<2.5.0a0 *|>=3.0.4,<3.1.0a0 *], which can be installed (as previously explained);
│ ├─ rasterio [1.1.6|1.1.7|...|1.2.6] would require
│ │ └─ libgdal [>=3.1.2,<3.2.0a0 *|>=3.1.3,<3.2.0a0 *|>=3.1.4,<3.2.0a0 *|>=3.2.1,<3.3.0a0 *] with the potential options
│ │ ├─ libgdal [3.1.4|3.2.1|...|3.3.3] would require
│ │ │ └─ geos >=3.9.1,<3.9.2.0a0 *, which can be installed;
│ │ ├─ libgdal [2.4.4|3.0.4|...|3.2.1], which can be installed (as previously explained);
│ │ └─ libgdal [3.1.4|3.2.1] would require
│ │ └─ geos >=3.9.0,<3.9.1.0a0 *, which can be installed;
│ ├─ rasterio [1.2.10|1.3.0] would require
│ │ └─ libgdal >=3.5.0,<3.6.0a0 * with the potential options
│ │ ├─ libgdal [3.5.3|3.6.3|3.6.4|3.7.0], which can be installed (as previously explained);
│ │ ├─ libgdal [3.3.3|3.4.1|3.4.2|3.4.3|3.5.0] would require
│ │ │ └─ geos >=3.10.2,<3.10.3.0a0 *, which can be installed;
│ │ ├─ libgdal [3.4.3|3.5.3|...|3.6.3], which can be installed (as previously explained);
│ │ ├─ libgdal [3.5.0|3.5.1|3.5.2|3.5.3|3.6.0] would require
│ │ │ └─ geos >=3.11.0,<3.11.1.0a0 *, which can be installed;
│ │ └─ libgdal 3.5.0 would require
│ │ └─ geos >=3.10.3,<3.10.4.0a0 *, which can be installed;
│ ├─ rasterio 1.2.10 would require
│ │ └─ libgdal >=3.4.0,<3.5.0a0 * with the potential options
│ │ ├─ libgdal [3.3.3|3.4.0|3.4.1] would require
│ │ │ └─ geos >=3.10.1,<3.10.2.0a0 *, which can be installed;
│ │ ├─ libgdal [3.3.3|3.4.0] would require
│ │ │ └─ geos >=3.10.0,<3.10.1.0a0 *, which can be installed;
│ │ ├─ libgdal [3.3.3|3.4.1|3.4.2|3.4.3|3.5.0], which can be installed (as previously explained);
│ │ └─ libgdal [3.4.3|3.5.3|...|3.6.3], which can be installed (as previously explained);
│ ├─ rasterio 1.2.10 would require
│ │ └─ libgdal >=3.4.1,<3.5.0a0 *, which can be installed (as previously explained);
│ ├─ rasterio [1.2.10|1.2.6|1.2.7|1.2.8|1.2.9] would require
│ │ └─ libgdal [>=3.3.0,<3.4.0a0 *|>=3.3.1,<3.4.0a0 *|>=3.3.2,<3.4.0a0 *|>=3.3.3,<3.4.0a0 *], which can be installed (as previously explained);
│ ├─ rasterio [1.2.4|1.2.5|1.2.6] would require
│ │ └─ libgdal >=3.2.2,<3.3.0a0 *, which can be installed (as previously explained);
│ ├─ rasterio [1.3.0.post1|1.3.1|1.3.2|1.3.3] would require
│ │ └─ libgdal [>=3.5.1,<3.6.0a0 *|>=3.5.2,<3.6.0a0 *|>=3.5.3,<3.6.0a0 *], which can be installed (as previously explained);
│ └─ rasterio 1.3.4 would require
│ └─ libgdal >=3.6.0,<3.7.0a0 *, which can be installed (as previously explained);
└─ gmt =6.6.0 * is not installable because it requires
├─ geos >=3.13.1,<3.13.2.0a0 *, which conflicts with any installable versions previously reported;
├─ libgdal-core >=3.11.3,<3.12.0a0 *, which requires
│ └─ openssl >=3.5.1,<4.0a0 *, which conflicts with any installable versions previously reported;
└─ libglib >=2.84.2,<3.0a0 *, which requires
└─ pcre2 >=10.45,<10.46.0a0 *, which conflicts with any installable versions previously reported.
critical libmamba Could not solve for environment specs

@seisman
seisman marked this pull request as draft July 28, 2025 02:40
@weiji14weiji14 modified the milestones: 0.17.0, 0.18.0Sep 17, 2025
@seisman

Copy link
Copy Markdown
MemberAuthor

rasterio v1.4.4 will be the release that supports GDAL 3.11, but it's unclear when it will come out.

I'm wondering if we should rebuild GMT 6.6 with GDAL 3.10 instead, so that we can at least have a build that can be used in our CI. Of course, we need to rebuild GMT 6.6 again with GDAL 3.11 later.

@seisman

Copy link
Copy Markdown
MemberAuthor

New GMT 6.6 build in #329 still doesn't work, likely because conflicts with geos or proj

 │ ├─ rasterio 1.4.2 would require
│ │ ├─ libgdal-core >=3.10.0,<3.11.0a0 * with the potential options
│ │ │ ├─ libgdal-core [3.10.0|3.10.1|3.10.2|3.9.2|3.9.3], which can be installed (as previously explained);
│ │ │ ├─ libgdal-core 3.10.3 would require
│ │ │ │ └─ geos >=3.13.1,<3.13.2.0a0 *, which conflicts with any installable versions previously reported;
│ │ │ ├─ libgdal-core [3.10.2|3.10.3|3.9.3], which cannot be installed (as previously explained);
│ │ │ ├─ libgdal-core 3.10.3 would require
│ │ │ │ ├─ geos >=3.14.0,<3.14.1.0a0 *, which conflicts with any installable versions previously reported;
│ │ │ │ ├─ pcre2 >=10.46,<10.47.0a0 *, which can be installed;
│ │ │ │ └─ proj >=9.6.2,<9.7.0a0 *, which conflicts with any installable versions previously reported;
│ │ │ ├─ libgdal-core 3.10.3 would require
│ │ │ │ ├─ geos >=3.14.0,<3.14.1.0a0 *, which conflicts with any installable versions previously reported;
│ │ │ │ └─ proj >=9.6.2,<9.7.0a0 *, which conflicts with any installable versions previously reported;
│ │ │ └─ libgdal-core 3.10.3 would require
│ │ │ ├─ geos >=3.14.0,<3.14.1.0a0 *, which conflicts with any installable versions previously reported;
│ │ │ └─ proj >=9.7.0,<9.8.0a0 *, which conflicts with any installable versions previously reported;
│ │ └─ proj >=9.5.0,<9.6.0a0 *, which can be installed;

@seismanseisman mentioned this pull request Sep 29, 2025
43 tasks
@weiji14

Copy link
Copy Markdown
Member

Tried locally and the resolver worked, just needed to wait for the conda-forge CDN to refresh after merging conda-forge/gmt-feedstock#329 (usually takes an hour or two). I've re-ran the CI jobs and GMT 6.6 seems to be working now with ghostscript 10.04.0 🎉

Let's test on ghostscript 10.05.1, and then 10.06.0.

@weiji14
weiji14 marked this pull request as ready for review September 29, 2025 20:43
@weiji14
weiji14 marked this pull request as draft September 29, 2025 20:43
@weiji14
weiji14 marked this pull request as ready for review September 29, 2025 21:00
@weiji14weiji14 modified the milestones: 0.18.0, 0.17.0Sep 29, 2025

@weiji14weiji14 left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Have tested GMT 6.6 with ghostscript 10.05.1 and 10.06.0, no major issues it seems. Test failures are just the usual Windows segfaults.

I'll let you decide @seisman whether to merge this in for PyGMT v0.17.0 or not.

@seisman
seisman merged commit 06e75f5 into mainSep 29, 2025
25 of 28 checks passed
@seisman
seisman deleted the gmt/6.6.0 branch September 29, 2025 23:41
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

maintenanceBoring but important stuff for the core devsrun/benchmarkTrigger the benchmark workflow in PRs

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

@seisman@weiji14