fix: pin hdf5-metno-src to 0.10.2 so the tree builds again - #40
Open
rob-p wants to merge 1 commit into
Open
Conversation
A clean checkout currently fails to build anndata-hdf5:
error: failed to run custom build command for `hdf5-metno-sys v0.11.3`
thread 'main' panicked at hdf5-metno-sys-0.11.3/build.rs:222:21:
Invalid H5_VERSION: "2.2.0"
Nothing here changed. hdf5-metno-src 0.10.3, published 2026-08-04, bumped the
bundled HDF5 to 2.2.0. hdf5-metno-sys 0.11.x depends on it as ^0.10 and so picks
it up automatically, but 0.11.x's build script accepts only HDF5 minor versions
{0,1,8,10,12,14} and rejects 2.2.0. The parser fix shipped in hdf5-metno-sys
0.12.2 only (metno/hdf5-rust#202).
Moving to 0.12.x is not currently possible from here: this crate requires both
hdf5-metno-sys ^0.11 and hdf5-metno ^0.12.3, and any hdf5-metno >= 0.12.6 needs
hdf5-metno-sys ^0.12. Since that crate declares `links = "hdf5"`, cargo refuses
to have both in the graph rather than choosing one.
Declaring hdf5-metno-src directly costs nothing: this crate already enables
hdf5-metno-sys's `static` feature unconditionally, so those sources are built in
every configuration regardless. The pin only chooses which of them.
Fixes scverse#38
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Fixes #38.
A clean checkout of
maincurrently fails to buildanndata-hdf5:Nothing in this repo changed.
hdf5-metno-src0.10.3 (published 2026-08-04) bumped the bundled HDF5 to 2.2.0.hdf5-metno-sys0.11.x depends on it as^0.10, so it is picked up automatically — but 0.11.x's build script accepts only HDF5 minor versions{0,1,8,10,12,14}. The parser fix shipped inhdf5-metno-sys0.12.2 only; reported upstream as metno/hdf5-rust#202.Moving to
-sys0.12.x is not currently reachable from here. This crate requires bothhdf5-metno-sys ^0.11andhdf5-metno ^0.12.3, and anyhdf5-metno >= 0.12.6requireshdf5-metno-sys ^0.12. Becausehdf5-metno-sysdeclareslinks = "hdf5", cargo refuses to have two copies rather than picking one:So this pin is the minimal fix that restores the build.
Declaring
hdf5-metno-srcdirectly costs nothing: this crate already enableshdf5-metno-sys'sstaticfeature unconditionally, so those sources are compiled in every configuration anyway. The pin only selects which of them.Verified
rustc 1.97.1, x86_64-unknown-linux-gnu, cmake 3.29.2.
When this can be reverted
Once either metno/hdf5-rust#202 is resolved (e.g. the 2.x version regex backported to a
-sys0.11.4, or the HDF5-2.2.0 sources republished as-src0.11.0), or this crate moves both requirements tohdf5-metno 0.14+hdf5-metno-sys 0.12.1. Note that the latter currently trips metno/hdf5-rust#203 on RHEL-family hosts, where HDF5 2.x installs tolib64buthdf5-syslinks againstlib.