Community Packages

Please read this before reporting a bug:

Do NOT report bugs when a package is just outdated, or it is in the AUR. Use the 'flag out of date' link on the package page, or the Mailing List.

REPEAT: Do NOT report bugs for outdated packages!

FS#53189 - [hdf5] Merge hdf5-openmpi, hdf5-fortran-openmpi (AUR) and hdf5-cpp-fortran into hdf5 (with PKGBUILD)

Attached to Project: Community Packages
Opened by Bruno Pagani (ArchangeGabriel) - Tuesday, 07 March 2017, 02:04 GMT
Last edited by Bruno Pagani (ArchangeGabriel) - Sunday, 23 December 2018, 10:39 GMT
Task Type Feature Request
Category Packages
Status Closed
Assigned To Ronald van Haren (pressh)
Bruno Pagani (ArchangeGabriel)
Architecture All
Severity Medium
Priority Normal
Reported Version
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 2
Private No


Current status of HDF5 in ArchLinux:

– hdf5[0] provides only C binding, with high-level library (HL), but no thread-safety since 1.10 release[1] since it’s incompatible with HL[2]. The package still adds --with-pthread=/usr/lib to ./configure call although it’s useless without thread-safety[3]. There is also use of the removed --enable-linux-lfs (also in other hdf5 packages), which according to [2] should be replaced by --enable-large-file, though this option seems undocumented in ./configure --help.
– hdf5-cpp-fortran[4] adds CPP/Fortran bindings to that. So at this points it includes hdf5 package. That wasn’t the case before because of thread-safety being incompatible with them[5,6]. Note the use of the deprecated --fortran-2003 which is now automatically enabled if the compiler supports it.
– hdf5-openmpi[7] which add CPP and parallel (MPI) to hdf5. At this points, it also includes hdf5 package. It wasn’t the case before because of thread-safety being incompatible with parallel mode[8]. It could even include hdf5-cpp-fortran if Fortran binding where enabled. They apparently weren’t included because of some bug[9] that was only mentioned by one people and apparently not investigated at the time, but which is clearly not present anymore.
– hdf5-fortran-openmpi[10] which add Fortran and parallel (MPI) to hdf5. Same as the former with CPP removed in favour of Fortran. Not sure whether not having CPP there was really needed at the time this package was pushed, but anyway…

So, except maybe a thread-safe version (per [2]) that could be added (and the mpich version in the AUR), I think that every of the above packages should be merged back into hdf5. I thus provide a PKGBUILD in attachment that fulfil this purpose but also fix some random things like url or use of https[11], bash variables… Also switches to md5sums since that’s what upstream provides[12]. The mpi.patch file is in hdf5-openmpi[13].

   PKGBUILD (1.4 KiB)
This task depends upon

Closed by  Bruno Pagani (ArchangeGabriel)
Sunday, 23 December 2018, 10:39 GMT
Reason for closing:  Won't implement
Additional comments about closing:  Decided that it was not worth the trouble.
Comment by Bruno Pagani (ArchangeGabriel) - Tuesday, 07 March 2017, 02:48 GMT
Additional note: there seems to be python-h5py ( that depends on hdf5 but conflicts on hdf5-openmpi. This should be investigated prior to any action. There is apparently an OpenMPI version (, not sure about the implications.

EDIT: This made me think that maybe MPI-enabled HDF5 is not a superset of HDF5, in which case a separate -openmpi build would still be needed (but at least all bindings can be enabled in both). I would especially like input from python-h5py packagers on this.
Comment by Bruno Pagani (ArchangeGabriel) - Monday, 29 May 2017, 13:53 GMT
1.10.1 is out and does not change things here. But it would be nice to fix this instead of just bumping the release.
Comment by Bruno Pagani (ArchangeGabriel) - Saturday, 17 June 2017, 14:13 GMT
So, after some discussions in, I’m going to stick on two flavours (with and without OpenMPI, might add MPICH too later) for now. But both will now have Fortran and CPP bindings enabled.

I’m keeping this open for future investigations on co-installability of the different versions.