Skip to content

[NetCDF] upgrade to NetCDF v4.8.1 for non-Windows platforms and julia 1.8 compat#4826

Merged
giordano merged 8 commits intoJuliaPackaging:masterfrom
Alexander-Barth:NetCDF-v4.8.1
Apr 25, 2022
Merged

[NetCDF] upgrade to NetCDF v4.8.1 for non-Windows platforms and julia 1.8 compat#4826
giordano merged 8 commits intoJuliaPackaging:masterfrom
Alexander-Barth:NetCDF-v4.8.1

Conversation

@Alexander-Barth
Copy link
Copy Markdown
Contributor

@Alexander-Barth Alexander-Barth commented Apr 24, 2022

Currently NetCDF_jll cannot be installed on any OS with julia 1.8 due to the fact that julia uses different versions of libcurl, LibSSH2, MbedTLS (than julia 1.6 and julia 1.7)

This PR:

  • adapts the build script for julia 1.8
  • updates NetCDF to the current version 4.8.1
  • includes Windows specific patches to make NetCDF compile on Windows (the main patch 0001-Fix-a-number-of-OS-specific-bugs.patch is from upstream, but not yet available in a released version).
  • runs make check on Linux (to hopefully catch issues earlier)
  • unfortunately, we have the same issue as before on Windows but the binary works on Linux and Mac OS X (x86_64): https://github.com/Alexander-Barth/NCDatasets.jl/actions/runs/2209847122
  • I commented out Windows as supported platform because the binary is known to fail. Releasing a broken NetCDF_jll will create problems in packages depending on NetCDF_jll.

Windows issue is also reported upstream:
Unidata/netcdf-c#2248

CC: @visr

@giordano
Copy link
Copy Markdown
Member

@Seelengrab this is why backporting JuliaLang/julia#43250 would wreak havoc everywhere

@@ -0,0 +1,675 @@
From fcf179c6c799020871eed3ecbcc4dd34a9663c3b Mon Sep 17 00:00:00 2001
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.

These are relatively large patches, touching lots of files. It'd be good to upstream all changes that are general and not specific to our build system, to reduce our maintenance burden.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

The large first patch is actually from upstream (@DennisHeimbigner) and merged in main but not jet available in a released version. This patch should no longer be necessary in upcoming releases.

For the two other patches, I filled these issues/PRs:
Unidata/netcdf-c#2303 (PR: Unidata/netcdf-c#2304)
Unidata/netcdf-c#2302 (PR: Unidata/netcdf-c#2305)

Comment thread N/NetCDF/common.jl Outdated
Comment on lines +124 to +128
# The following libraries are dependencies of LibCURL_jll which is now a
# stdlib, but the stdlib doesn't explicitly list its dependencies
Dependency("LibSSH2_jll", v"1.10.2"),
Dependency("MbedTLS_jll", v"2.28.0"),
Dependency("nghttp2_jll"),
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.

The comment hasn't been true for quite some time (and it has been true for only few days). Did you try removing these lines?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Indeed, the compilation works if I remove the indirect dependencies. The PR is updated.

@giordano giordano merged commit 994ce91 into JuliaPackaging:master Apr 25, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants