Skip to content

Conversation

seisman
Copy link
Member

@seisman seisman commented Jul 27, 2025

See checklist at #4017.

Previous PR at #2962.

@seisman seisman added this to the 0.17.0 milestone Jul 27, 2025
@seisman seisman 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
Member Author

seisman commented Jul 27, 2025

It seems there are conflicts between GMT and contextily.

@weiji14
Copy link
Member

weiji14 commented Jul 27, 2025

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

  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
@weiji14 weiji14 modified the milestones: 0.17.0, 0.18.0 Sep 17, 2025
@seisman
Copy link
Member Author

seisman commented Sep 29, 2025

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
Member Author

seisman commented Sep 29, 2025

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;

@seisman seisman mentioned this pull request Sep 29, 2025
41 tasks
@weiji14
Copy link
Member

weiji14 commented Sep 29, 2025

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
@weiji14 weiji14 modified the milestones: 0.18.0, 0.17.0 Sep 29, 2025
Copy link
Member

@weiji14 weiji14 left a comment

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 main Sep 29, 2025
25 of 28 checks passed
@seisman seisman deleted the gmt/6.6.0 branch September 29, 2025 23:41
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
maintenance Boring but important stuff for the core devs run/benchmark Trigger the benchmark workflow in PRs
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants