lalsupport build fails against hdf5 1.12.1
Attempting to build liblalsupport against hdf5 1.12.1 fails with a too few arguments for function
error:
CC liblalsupport_la-H5FileIOLowLevel.lo
In file included from /home/duncan/opt/miniconda3/envs/lal-hdf51121/include/H5public.h:32,
from /home/duncan/opt/miniconda3/envs/lal-hdf51121/include/hdf5.h:22,
from H5FileIOLowLevel.c:4:
H5FileIOLowLevel.c: In function 'XLALH5FileCheckDatasetExists':
H5ThreadSafe.c:664:39: error: too few arguments to function 'H5Oget_info_by_idx3'
664 | #define threadsafe_H5Oget_info_by_idx H5Oget_info_by_idx
| ^~~~~~~~~~~~~~~~~~
H5FileIOLowLevel.c:563:7: note: in expansion of macro 'threadsafe_H5Oget_info_by_idx'
563 | if (threadsafe_H5Oget_info_by_idx(file->file_id, ".", H5_INDEX_NAME, H5_ITER_INC, i, &obj_info, H5P_DEFAULT) < 0)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /home/duncan/opt/miniconda3/envs/lal-hdf51121/include/H5Apublic.h:22,
from /home/duncan/opt/miniconda3/envs/lal-hdf51121/include/hdf5.h:23,
from H5FileIOLowLevel.c:4:
/home/duncan/opt/miniconda3/envs/lal-hdf51121/include/H5Opublic.h:631:15: note: declared here
631 | H5_DLL herr_t H5Oget_info_by_idx3(hid_t loc_id, const char *group_name, H5_index_t idx_type,
| ^~~~~~~~~~~~~~~~~~~
H5FileIOLowLevel.c:569:63: error: 'H5O_info2_t' {aka 'struct H5O_info2_t'} has no member named 'addr'
569 | obj_id = threadsafe_H5Oopen_by_addr(file->file_id, obj_info.addr);
| ^
In file included from /home/duncan/opt/miniconda3/envs/lal-hdf51121/include/H5public.h:32,
from /home/duncan/opt/miniconda3/envs/lal-hdf51121/include/hdf5.h:22,
from H5FileIOLowLevel.c:4:
H5FileIOLowLevel.c: In function 'XLALH5FileQueryNGroups':
H5ThreadSafe.c:664:39: error: too few arguments to function 'H5Oget_info_by_idx3'
664 | #define threadsafe_H5Oget_info_by_idx H5Oget_info_by_idx
| ^~~~~~~~~~~~~~~~~~
H5FileIOLowLevel.c:658:7: note: in expansion of macro 'threadsafe_H5Oget_info_by_idx'
658 | if (threadsafe_H5Oget_info_by_idx(file->file_id, ".", H5_INDEX_NAME, H5_ITER_INC, i, &obj_info, H5P_DEFAULT) < 0)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /home/duncan/opt/miniconda3/envs/lal-hdf51121/include/H5Apublic.h:22,
from /home/duncan/opt/miniconda3/envs/lal-hdf51121/include/hdf5.h:23,
from H5FileIOLowLevel.c:4:
/home/duncan/opt/miniconda3/envs/lal-hdf51121/include/H5Opublic.h:631:15: note: declared here
631 | H5_DLL herr_t H5Oget_info_by_idx3(hid_t loc_id, const char *group_name, H5_index_t idx_type,
| ^~~~~~~~~~~~~~~~~~~
In file included from /home/duncan/opt/miniconda3/envs/lal-hdf51121/include/H5public.h:32,
from /home/duncan/opt/miniconda3/envs/lal-hdf51121/include/hdf5.h:22,
from H5FileIOLowLevel.c:4:
H5FileIOLowLevel.c: In function 'XLALH5FileQueryGroupName':
H5ThreadSafe.c:664:39: error: too few arguments to function 'H5Oget_info_by_idx3'
664 | #define threadsafe_H5Oget_info_by_idx H5Oget_info_by_idx
| ^~~~~~~~~~~~~~~~~~
H5FileIOLowLevel.c:710:7: note: in expansion of macro 'threadsafe_H5Oget_info_by_idx'
710 | if (threadsafe_H5Oget_info_by_idx(file->file_id, ".", H5_INDEX_NAME, H5_ITER_INC, i, &obj_info, H5P_DEFAULT) < 0)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /home/duncan/opt/miniconda3/envs/lal-hdf51121/include/H5Apublic.h:22,
from /home/duncan/opt/miniconda3/envs/lal-hdf51121/include/hdf5.h:23,
from H5FileIOLowLevel.c:4:
/home/duncan/opt/miniconda3/envs/lal-hdf51121/include/H5Opublic.h:631:15: note: declared here
631 | H5_DLL herr_t H5Oget_info_by_idx3(hid_t loc_id, const char *group_name, H5_index_t idx_type,
| ^~~~~~~~~~~~~~~~~~~
H5FileIOLowLevel.c:716:64: error: 'H5O_info2_t' {aka 'struct H5O_info2_t'} has no member named 'addr'
716 | obj_id = threadsafe_H5Oopen_by_addr(file->file_id, obj_info.addr);
| ^
In file included from /home/duncan/opt/miniconda3/envs/lal-hdf51121/include/H5public.h:32,
from /home/duncan/opt/miniconda3/envs/lal-hdf51121/include/hdf5.h:22,
from H5FileIOLowLevel.c:4:
H5FileIOLowLevel.c: In function 'XLALH5FileQueryNDatasets':
H5ThreadSafe.c:664:39: error: too few arguments to function 'H5Oget_info_by_idx3'
664 | #define threadsafe_H5Oget_info_by_idx H5Oget_info_by_idx
| ^~~~~~~~~~~~~~~~~~
H5FileIOLowLevel.c:761:7: note: in expansion of macro 'threadsafe_H5Oget_info_by_idx'
761 | if (threadsafe_H5Oget_info_by_idx(file->file_id, ".", H5_INDEX_NAME, H5_ITER_INC, i, &obj_info, H5P_DEFAULT) < 0)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /home/duncan/opt/miniconda3/envs/lal-hdf51121/include/H5Apublic.h:22,
from /home/duncan/opt/miniconda3/envs/lal-hdf51121/include/hdf5.h:23,
from H5FileIOLowLevel.c:4:
/home/duncan/opt/miniconda3/envs/lal-hdf51121/include/H5Opublic.h:631:15: note: declared here
631 | H5_DLL herr_t H5Oget_info_by_idx3(hid_t loc_id, const char *group_name, H5_index_t idx_type,
| ^~~~~~~~~~~~~~~~~~~
In file included from /home/duncan/opt/miniconda3/envs/lal-hdf51121/include/H5public.h:32,
from /home/duncan/opt/miniconda3/envs/lal-hdf51121/include/hdf5.h:22,
from H5FileIOLowLevel.c:4:
H5FileIOLowLevel.c: In function 'XLALH5FileQueryDatasetName':
H5ThreadSafe.c:664:39: error: too few arguments to function 'H5Oget_info_by_idx3'
664 | #define threadsafe_H5Oget_info_by_idx H5Oget_info_by_idx
| ^~~~~~~~~~~~~~~~~~
H5FileIOLowLevel.c:813:7: note: in expansion of macro 'threadsafe_H5Oget_info_by_idx'
813 | if (threadsafe_H5Oget_info_by_idx(file->file_id, ".", H5_INDEX_NAME, H5_ITER_INC, i, &obj_info, H5P_DEFAULT) < 0)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /home/duncan/opt/miniconda3/envs/lal-hdf51121/include/H5Apublic.h:22,
from /home/duncan/opt/miniconda3/envs/lal-hdf51121/include/hdf5.h:23,
from H5FileIOLowLevel.c:4:
/home/duncan/opt/miniconda3/envs/lal-hdf51121/include/H5Opublic.h:631:15: note: declared here
631 | H5_DLL herr_t H5Oget_info_by_idx3(hid_t loc_id, const char *group_name, H5_index_t idx_type,
| ^~~~~~~~~~~~~~~~~~~
H5FileIOLowLevel.c:819:64: error: 'H5O_info2_t' {aka 'struct H5O_info2_t'} has no member named 'addr'
819 | obj_id = threadsafe_H5Oopen_by_addr(file->file_id, obj_info.addr);
| ^
In file included from /home/duncan/opt/miniconda3/envs/lal-hdf51121/include/H5public.h:32,
from /home/duncan/opt/miniconda3/envs/lal-hdf51121/include/hdf5.h:22,
from H5FileIOLowLevel.c:4:
H5FileIOLowLevel.c: In function 'XLALH5AttributeCheckExists':
H5ThreadSafe.c:663:32: error: too few arguments to function 'H5Oget_info3'
663 | #define threadsafe_H5Oget_info H5Oget_info
| ^~~~~~~~~~~
H5FileIOLowLevel.c:1396:6: note: in expansion of macro 'threadsafe_H5Oget_info'
1396 | if (threadsafe_H5Oget_info(obj_id, &obj_info) < 0)
| ^~~~~~~~~~~~~~~~~~~~~~
In file included from /home/duncan/opt/miniconda3/envs/lal-hdf51121/include/H5Apublic.h:22,
from /home/duncan/opt/miniconda3/envs/lal-hdf51121/include/hdf5.h:23,
from H5FileIOLowLevel.c:4:
/home/duncan/opt/miniconda3/envs/lal-hdf51121/include/H5Opublic.h:497:15: note: declared here
497 | H5_DLL herr_t H5Oget_info3(hid_t loc_id, H5O_info2_t *oinfo, unsigned fields);
| ^~~~~~~~~~~~
In file included from /home/duncan/opt/miniconda3/envs/lal-hdf51121/include/H5public.h:32,
from /home/duncan/opt/miniconda3/envs/lal-hdf51121/include/hdf5.h:22,
from H5FileIOLowLevel.c:4:
H5FileIOLowLevel.c: In function 'XLALH5AttributeQueryN':
H5ThreadSafe.c:663:32: error: too few arguments to function 'H5Oget_info3'
663 | #define threadsafe_H5Oget_info H5Oget_info
| ^~~~~~~~~~~
H5FileIOLowLevel.c:1451:6: note: in expansion of macro 'threadsafe_H5Oget_info'
1451 | if (threadsafe_H5Oget_info(obj_id, &obj_info) < 0)
| ^~~~~~~~~~~~~~~~~~~~~~
In file included from /home/duncan/opt/miniconda3/envs/lal-hdf51121/include/H5Apublic.h:22,
from /home/duncan/opt/miniconda3/envs/lal-hdf51121/include/hdf5.h:23,
from H5FileIOLowLevel.c:4:
/home/duncan/opt/miniconda3/envs/lal-hdf51121/include/H5Opublic.h:497:15: note: declared here
497 | H5_DLL herr_t H5Oget_info3(hid_t loc_id, H5O_info2_t *oinfo, unsigned fields);
| ^~~~~~~~~~~~
In file included from /home/duncan/opt/miniconda3/envs/lal-hdf51121/include/H5public.h:32,
from /home/duncan/opt/miniconda3/envs/lal-hdf51121/include/hdf5.h:22,
from H5FileIOLowLevel.c:4:
H5FileIOLowLevel.c: In function 'XLALH5AttributeQueryName':
H5ThreadSafe.c:663:32: error: too few arguments to function 'H5Oget_info3'
663 | #define threadsafe_H5Oget_info H5Oget_info
| ^~~~~~~~~~~
H5FileIOLowLevel.c:1500:6: note: in expansion of macro 'threadsafe_H5Oget_info'
1500 | if (threadsafe_H5Oget_info(obj_id, &obj_info) < 0)
| ^~~~~~~~~~~~~~~~~~~~~~
In file included from /home/duncan/opt/miniconda3/envs/lal-hdf51121/include/H5Apublic.h:22,
from /home/duncan/opt/miniconda3/envs/lal-hdf51121/include/hdf5.h:23,
from H5FileIOLowLevel.c:4:
/home/duncan/opt/miniconda3/envs/lal-hdf51121/include/H5Opublic.h:497:15: note: declared here
497 | H5_DLL herr_t H5Oget_info3(hid_t loc_id, H5O_info2_t *oinfo, unsigned fields);
| ^~~~~~~~~~~~
make: *** [Makefile:976: liblalsupport_la-H5FileIOLowLevel.lo] Error 1
make: Leaving directory '/home/duncan/git/lalsuite/lal/lib/support'
This can be reproduced using conda-forge as follows:
conda create -n lal-hdf51121 hdf5=1.12 gsl=2.7 pkg-config make c-compiler fftw
conda activate lal-hdf51121
./00booth
./configure --prefix=${PREFIX} --disable-swig --disable-python
make -C lib/support
This is a blocker for the conda-forge migration to HDF5 1.12.1 here.