Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Merged
merged 8 commits into from
Apr 25, 2022

Conversation

Alexander-Barth
Copy link
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
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
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
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 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
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
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