Homebrew HDF5 version rollback and resulting compilation errors
Problem:
HDF5 on homebrew was v1.13 for a time afais, which however is still marked as experimental, and thus v1.12 is provided by the brew formula again.
In turn, this has lead to problems with the hdf5 interface of armadillo on my system (macOS Monterey) , pertaining to the different function signatures provided by different versions of hdf5 (e.g. H5Ovisit1
, H5Ovisit2
, H5Ovisit3
), which are then mapped to H5Ovisit
via a macro. This can yield function signature errors when a version of a function is bound to the macro that differs from the one expected by the user (or downstream library) (because the signatures of the 1,2,3 version are different).
Possible solution
The issue could be solved for me by adding -DARMA_USE_HDF5_ALT=ON
to cmake options, which does make use of armadillo-provided HDF5 wrapper functions when arma types are written out to hdf5 as far as I understand.