hdf5 icon indicating copy to clipboard operation
hdf5 copied to clipboard

hdf5: first stab at hdf5-1.10 support

Open sbinet opened this issue 6 years ago • 4 comments

This CL is a first step towards supporting new features and APIs of HDF5 v1.10.

Right now, anecdotal evidence shows that HDF5 v1.8 is still massively deployed so support for 1.10 has to be opt-in, by way of an optional build tag aptly named "hdf5_v1.10"

Updates gonum/hdf5#16.

Please take a look.

sbinet avatar May 23 '18 14:05 sbinet

That looks good. And to confirm it even further. We are running this lib for quite some time now on HDF5 v1.10.1 without any issues.

donkahlero avatar May 23 '18 14:05 donkahlero

I am sure 1.10.x is great :) no argument about that.

the issue is twofold:

  • IIUC, the way travis works, we can't reliably test gonum/hdf5 against both hdf5-1.8.x and hdf5-1.10.x: we have to pick one.
  • given the limited dev resources in Gonum and in gonum/hdf5 in particular, I don't think it's doable to correctly support both.

I'd be inclined to say we support hdf5-1.8.x (or try to) and accept PRs for 1.10.x. when/if the HDFGroup declares 1.8.x deprecated, we say we drop it as well and enable 1.10.x by default. alternatively, we could ask our users if they'd be willing to drop explicit support for 1.8.x and focus on 1.10.x (but this would involve some .travis.yml massaging to get the correct version installed there, I suppose...)

this PR was just for me to see how one could achieve support for 1.10.x w/o disturbing 1.8.x and lay some ground infra work down :)

sbinet avatar May 23 '18 14:05 sbinet

IIUC, the way travis works, we can't reliably test gonum/hdf5 against both hdf5-1.8.x and hdf5-1.10.x: we have to pick one.

I don't think this is true. We could use an environment variable to choose which is installed and built against.

kortschak avatar May 24 '18 00:05 kortschak

IIUC, the way travis works, we can't reliably test gonum/hdf5 against both hdf5-1.8.x and hdf5-1.10.x: we have to pick one.

I don't think this is true. We could use an environment variable to choose which is installed and built against.

You can use the matrix expansion support in Travis to build against different versions. I cant say how it would be done in the hdf5 case though (don't know enough about the your build setup).

Some references: https://docs.travis-ci.com/user/build-stages/matrix-expansion/ https://docs.travis-ci.com/user/customizing-the-build/#Build-Matrix

gustafj avatar May 24 '18 09:05 gustafj