This is due to upgrading hdf5 from 1.10 to 1.12 petsc/master is updated to work with hdf5-1.12
However petsc/maint is set hdf5-1.10. So I'm not sure what to suggest. Perhaps backport the following change to maint? diff --git a/include/petsc/private/viewerhdf5impl.h b/include/petsc/private/viewerhdf5impl.h index 00b845d525..d5be7294cc 100644 --- a/include/petsc/private/viewerhdf5impl.h +++ b/include/petsc/private/viewerhdf5impl.h @@ -2,6 +2,11 @@ #ifndef __VIEWERHDF5IMPL_H #define __VIEWERHDF5IMPL_H +#if defined(H5_VERSION) +# error "viewerhdf5impl.h must be included *before* any other HDF5 headers" +#else +# define H5_USE_18_API +#endif #include <petscviewerhdf5.h> #if defined(PETSC_HAVE_HDF5) Satish On Fri, 20 Mar 2020, Boyce Griffith wrote: > Homebrew just updated my hdf5, and now I am getting some errors from the HDF5 > viewer in maint: > > /Users/boyceg/sfw/petsc/petsc-maint/src/sys/classes/viewer/impls/hdf5/hdf5v.c:1064:73: > error: too few arguments to function call, expected 5, have 4 > PetscStackCallHDF5(H5Oget_info_by_name,(h5, name, &info, H5P_DEFAULT)); > ~~~~~~~~~~~~~~~~~~~ ^ > /Users/boyceg/sfw/petsc/petsc-maint/include/petsc/private/viewerhdf5impl.h:11:42: > note: expanded from macro 'PetscStackCallHDF5' > PetscStackPush(#func);_status = func args;PetscStackPop; if (_status) > SETERRQ2(PETSC_COMM_SELF,PETSC_ERR_LIB,"Error in HDF5 call %s() Status > %d",#func,(int)_status); \ > ~~~~ ^ > /usr/local/include/H5Opublic.h:188:8: note: 'H5Oget_info_by_name3' declared > here > H5_DLL herr_t H5Oget_info_by_name3(hid_t loc_id, const char *name, > H5O_info2_t *oinfo, > ^ > 1 error generated. > gmake[2]: *** [gmakefile:156: > darwin-dbg/obj/sys/classes/viewer/impls/hdf5/hdf5v.o] Error 1 >
