Windows users, test my new HDF5_jll 1.14.3 builds!

mkitti
Sun, 07 Jan 2024 09:09:17 +0000
Package Announcements

As part of the effort to update the HDF5 libraries to version 1.14.3, I have built a series of test packages for Windows located here:

GitHub

GitHub - mkitti/HDF5_jll.jl: HDF5 Binaries via BinaryBuilder.org, mkitti...

HDF5 Binaries via BinaryBuilder.org, mkitti testing ground - GitHub - mkitti/HDF5_jll.jl: HDF5 Binaries via BinaryBuilder.org, mkitti testing ground

If you run Windows, I would appreciate if you could try running the following short program as a test, please.

# Setup
using Pkg
Pkg.activate(; temp = true)
Pkg.add([
    PackageSpec(url="https://github.com/mkitti/HDF5_jll.jl"),
    PackageSpec(name="HDF5")
])
using HDF5_jll
using HDF5
fn = "mkitti_discourse_test.h5"

# Write test
X = h5open(fn, "w") do h5f
    h5f["data"] = rand(256)
end;
# Read back test
h5open(fn, "r") do h5f
    h5f["data"][]
end == X ? println("Test Successful") : println("Test Failed");
rm(fn)

In the past for HDF5_jll.jl, we borrowed binary packages from MSYS2 to support Windows. Until recently, we were also borrowing HDF5 binaries from conda-forge.

Until HDF5 1.14.3, building the C library required executing a program to determine how floating point worked on the target platform. This made building HDF5 difficult under our BinaryBuilder cross-compilation system. After some work with The HDF Group, HDF5 1.14.3 was was released with cross compilation support for the C library. Combined with a substantial effort by @schnetter to support Fortran cross-compilation of the HDF5 library, we can now build HDF5 in BinaryBuilder for all platforms, including Windows.

Other than being able to build HDF5 ourselves, this development means that we can tailor the HDF5 library configuration to the needs of the Julia community. These new binaries provide the Fortran and C++ bindings for the HDF5 library. This allows other software that uses those bindings to be easily packaged for Julia. Additionally, work is continuing on supporting Microsoft MPI with HDF5.

If this test is successful for everyone, we can replace the MSYS2 binaries with our own. Thank you in advance for donating your time to this test.

edit: The diff enabling BinaryBuilder Windows builds for HDF5 can be seen here:

github.com/eschnett/Yggdrasil

Build Windows using cross compile, remove msys2 sources

eschnett:eschnett/hdf5_1_14_3 ← mkitti:eschnett/hdf5_1_14_3

opened 04:13PM - 06 Jan 24 UTC

mkitti

+34 -59

1. Remove msys2 sources 2. Add lib64 to FCFLAGS (for openssl) 3. Add lib64 to …CFLAGS (for openssl)

9 posts - 6 participants