Open peytondmurray opened 4 days ago
I think version 1.15 is still under development? The latest release is a 1.14.*: https://github.com/HDFGroup/hdf5/releases We're currently using 1.14.0.
Good question - I just tested with the latest release 1.14 too, but that also doesn't work for me. Maybe there's something else going on here :thinking:
How would we specify a libhdf5 version <= 1.14 requirement?
Good question, we should be able to specify version of our non-python dependencies in meson.build
.
Can we add 1.15 support?
Definitely we will want to. I'll get to the bottom of this issue :point_up: first - that may make us 1.15-compatible anyway.
@ArvidJB Would you be able to post the output of h5cc -showconfig
for your working installation?
When I build versioned-hdf5 in a virtualenv I end up using the libhdf5 bundled with h5py:
>>> print(h5py.version.info)
Summary of the h5py configuration
---------------------------------
h5py 3.8.0
HDF5 1.14.0
Python 3.11.8 (main, Mar 15 2024, 12:37:54) [GCC 10.3.1 20210422 (Red Hat 10.3.1-1)]
sys.platform linux
sys.maxsize 9223372036854775807
numpy 1.24.4
cython (built with) 0.29.36.1
numpy (built against) 1.23.2
HDF5 (built against) 1.14.0
Here's the output of h5pcc
:
$ h5pcc -showconfig
SUMMARY OF THE HDF5 CONFIGURATION
=================================
General Information:
-------------------
HDF5 Version: 1.14.0
Configured on: Mon Sep 25 20:30:28 UTC 2023
Configured by: pyvenv@rhel8-exp-01.nyc.deshaw.com
Host system: x86_64-unknown-linux-gnu
Uname information: Linux rhel8-exp-01.nyc.deshaw.com 4.18.0-477.21.1.el8_8.x86_64 #1 SMP Thu Jul 20 08:38:27 EDT 2023 x86_64 x86_64 x86_64 GNU/Linux
Byte sex: little-endian
Installation point: /usr/local/python/python-3.11/std
Compiling Options:
------------------
Build Mode: production
Debugging Symbols: no
Asserts: no
Profiling: no
Optimization Level: high
Linking Options:
----------------
Libraries: static, shared
Statically Linked Executables:
LDFLAGS:
H5_LDFLAGS:
AM_LDFLAGS:
Extra libraries: -lz -ldl -lm
Archiver: ar
AR_FLAGS: cr
Ranlib: ranlib
Languages:
----------
C: yes
C Compiler: /usr/lib64/mpich/bin/mpicc ( MPICH version 3.4.2 Configured with: ../configure --enable-bootstrap --enable-languages=c,c++,fortran,lto --prefix=/opt/rh/gcc-toolset-10/root/usr --mandir=/opt/rh/gcc-toolset-10/root/usr/share/man --infodir=/opt/rh/gcc-toolset-10/root/usr/share/info --with-bugurl=http://bugzilla.redhat.com/bugzilla --enable-shared --enable-threads=posix --enable-checking=release --enable-multilib --with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions --enable-gnu-unique-object --enable-linker-build-id --with-gcc-major-version-only --with-linker-hash-style=gnu --enable-plugin --enable-initfini-array --with-isl=/builddir/build/BUILD/gcc-10.3.1-20210422/obj-x86_64-redhat-linux/isl-install --disable-libmpx --enable-gnu-indirect-function --enable-cet --with-tune=generic --with-arch_32=x86-64 --build=x86_64-redhat-linux built with gcc version 10.3.1 20210422 (Red Hat 10.3.1-1) (GCC))
CPPFLAGS:
H5_CPPFLAGS: -D_GNU_SOURCE -D_POSIX_C_SOURCE=200809L -DNDEBUG -UH5_DEBUG_API
AM_CPPFLAGS: -I/tmp/pip-install-uxkpxbzu/h5py_6eb1e255f2924d96aa10e089412445f0/hdf5/src/H5FDsubfiling
C Flags:
H5 C Flags: -std=c99 -Wall -Wcast-qual -Wconversion -Wextra -Wfloat-equal -Wformat=2 -Winit-self -Winvalid-pch -Wmissing-include-dirs -Wshadow -Wundef -Wwrite-strings -pedantic -Wno-c++-compat -Wlarger-than=2560 -Wlogical-op -Wframe-larger-than=16384 -Wpacked-bitfield-compat -Wsync-nand -Wno-unsuffixed-float-constants -Wdouble-promotion -Wtrampolines -Wstack-usage=8192 -Wmaybe-uninitialized -Wdate-time -Warray-bounds=2 -Wc99-c11-compat -Wduplicated-cond -Whsa -Wnormalized -Wnull-dereference -Wunused-const-variable -Walloca -Walloc-zero -Wduplicated-branches -Wformat-overflow=2 -Wformat-truncation=1 -Wattribute-alias -Wcast-align=strict -Wshift-overflow=2 -Wattribute-alias=2 -Wmissing-profile -Wc11-c2x-compat -fstdarg-opt -fdiagnostics-urls=never -fno-diagnostics-color -s -Wbad-function-cast -Wcast-align -Wformat -Wimplicit-function-declaration -Wint-to-pointer-cast -Wmissing-declarations -Wmissing-prototypes -Wnested-externs -Wold-style-definition -Wpacked -Wpointer-sign -Wpointer-to-int-cast -Wredundant-decls -Wstrict-prototypes -Wswitch -Wunused-but-set-variable -Wunused-variable -Wunused-function -Wunused-parameter -Wincompatible-pointer-types -Wint-conversion -Wshadow -Wrestrict -Wcast-function-type -Wmaybe-uninitialized -Wno-aggregate-return -Wno-inline -Wno-missing-format-attribute -Wno-missing-noreturn -Wno-overlength-strings -Wno-jump-misses-init -Wstrict-overflow=2 -Wno-suggest-attribute=const -Wno-suggest-attribute=noreturn -Wno-suggest-attribute=pure -Wno-suggest-attribute=format -Wno-suggest-attribute=cold -Wno-suggest-attribute=malloc -O3
AM C Flags:
Shared C Library: yes
Static C Library: yes
Fortran: no
C++: no
Java: no
Features:
---------
Parallel HDF5: yes
Parallel Filtered Dataset Writes: yes
Large Parallel I/O: yes
High-level library: yes
Dimension scales w/ new references: no
Build HDF5 Tests: yes
Build HDF5 Tools: yes
Build GIF Tools: no
Threadsafety: no
Default API mapping: v114
With deprecated public symbols: yes
I/O filters (external): deflate(zlib)
Map (H5M) API: no
Direct VFD: no
Mirror VFD: no
Subfiling VFD: no
(Read-Only) S3 VFD: no
(Read-Only) HDFS VFD: no
Packages w/ extra debug output: none
API tracing: no
Using memory checker: no
Function stack tracing: no
Use file locking: best-effort
Strict file format checks: no
Optimization instrumentation: no
PS: the code I wrote is basically just a slightly adapted version of the code in h5py: https://github.com/h5py/h5py/blob/44ba349e5ecd21ecbc75b1314063e96d30aec872/h5py/_hl/dataset.py#L1137 and https://github.com/h5py/h5py/blob/44ba349e5ecd21ecbc75b1314063e96d30aec872/h5py/h5p.pyx#L936
Tests are failing for me locally. Assuming that the problem was that I am using the latest hdf5 version, I tried using both the the stable version of
hdf5
andhdf5-git
from the AUR but both fail to pass most tests:OS: Linux 6.6.36-1-lts x86_64
hdf5 config