bes fails to compile with HDF5 1.12.1

0 views
Skip to first unread message

Orion Poplawski

unread,
Nov 20, 2021, 6:23:29 PM11/20/21
to support@opendap.org support
I'm trying to update Fedora to hdf5 1.12.1 but bes is failing to compile
with it:

libtool: compile: g++ -DHAVE_CONFIG_H -I. -I../.. -I gctp/include -I.
-I../../dispatch -I../../dap -I/usr/include/libdap
-I/usr/include/libxml2 -DMODULE_NAME=\"hdf5_handler\"
-DMODULE_VERSION=\"1.16.4\" -I/usr/include/cfitsio -I/usr/include/tirpc
-I/include -g -O2 --pedantic --std=c++11 -c HDF5Array.cc -fPIC -DPIC -o
.libs/HDF5Array.o
HDF5Array.cc: In member function 'bool
HDF5Array::m_array_of_reference(hid_t, hid_t)':
HDF5Array.cc:619:50: error: no match for 'operator[]' (operand types are
'hdset_reg_ref_t' and 'int')
619 | if (rbuf[offset[0] + i * step[0]][0] != '\0') {
| ^
In file included from h5get.h:38,
from HDF5Array.h:34,
from HDF5Array.cc:47:
HDF5Array.cc:622:109: error: cannot convert 'hdset_reg_ref_t' to 'const
void*'
622 | hid_t did_r = H5RDEREFERENCE(d_dset_id,
H5R_DATASET_REGION, rbuf[offset[0] + i * step[0]]);
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
|
|
|
hdset_reg_ref_t
h5apicompatible.h:25:89: note: in definition of macro 'H5RDEREFERENCE'
25 | #define H5RDEREFERENCE(obj_id,ref_type,ref)
H5Rdereference2(obj_id,H5P_DEFAULT,ref_type,ref)
|
^~~
In file included from HDF5Array.h:31,
from HDF5Array.cc:47:
/usr/include/H5Rpublic.h:791:92: note: initializing argument 4 of
'hid_t H5Rdereference2(hid_t, hid_t, H5R_type_t, const void*)'
791 | H5_DLL hid_t H5Rdereference2(hid_t obj_id, hid_t oapl_id,
H5R_type_t ref_type, const void *ref);
|
~~~~~~~~~~~~^~~
HDF5Array.cc:635:107: error: cannot convert 'hdset_reg_ref_t' to 'const
void*'
635 | hid_t space_id = H5Rget_region(did_r,
H5R_DATASET_REGION, rbuf[offset[0] + i * step[0]]);
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
|
|
|
hdset_reg_ref_t
In file included from HDF5Array.h:31,
from HDF5Array.cc:47:
/usr/include/H5Rpublic.h:822:76: note: initializing argument 3 of
'hid_t H5Rget_region(hid_t, H5R_type_t, const void*)'
822 | H5_DLL hid_t H5Rget_region(hid_t dataset, H5R_type_t ref_type,
const void *ref);
|
~~~~~~~~~~~~^~~
make[5]: *** [Makefile:849: HDF5Array.lo] Error 1
make[5]: Leaving directory
'/builddir/build/BUILD/bes-3.20.9/modules/hdf5_handler'
make[5]: *** Waiting for unfinished jobs....
make[5]: Entering directory
'/builddir/build/BUILD/bes-3.20.9/modules/hdf5_handler'
/bin/sh ../../libtool --tag=CXX --mode=compile g++ -DHAVE_CONFIG_H
-I. -I../.. -I gctp/include -I. -I../../dispatch -I../../dap
-I/usr/include/libdap -I/usr/include/libxml2
-DMODULE_NAME=\"hdf5_handler\" -DMODULE_VERSION=\"1.16.4\"
-I/usr/include/cfitsio -I/usr/include/tirpc -I/include -g -O2
--pedantic --std=c++11 -c -o HDF5Int8.lo HDF5Int8.cc
libtool: compile: g++ -DHAVE_CONFIG_H -I. -I../.. -I gctp/include -I.
-I../../dispatch -I../../dap -I/usr/include/libdap
-I/usr/include/libxml2 -DMODULE_NAME=\"hdf5_handler\"
-DMODULE_VERSION=\"1.16.4\" -I/usr/include/cfitsio -I/usr/include/tirpc
-I/include -g -O2 --pedantic --std=c++11 -c HDF5Int8.cc -fPIC -DPIC -o
.libs/HDF5Int8.o
make[5]: Leaving directory
'/builddir/build/BUILD/bes-3.20.9/modules/hdf5_handler'
make[4]: *** [Makefile:906: all-recursive] Error 1
make[3]: *** [Makefile:679: all] Error 2
make[2]: *** [Makefile:507: all-recursive] Error 1
make[1]: *** [Makefile:780: all-recursive] Error 1
make: *** [Makefile:556: all] Error 2


Full build log:
https://download.copr.fedorainfracloud.org/results/orion/hdf5-1.12.1/fedora-rawhide-x86_64/02980932-bes/builder-live.log.gz

Adding -DH5_USE_110_API did not help.


--
Orion Poplawski
he/him/his - surely the least important thing about me
Manager of NWRA Technical Systems 720-772-5637
NWRA, Boulder/CoRA Office FAX: 303-415-9702
3380 Mitchell Lane or...@nwra.com
Boulder, CO 80301 https://www.nwra.com/

James Gallagher

unread,
Nov 23, 2021, 1:12:37 PM11/23/21
to Orion Poplawski, Kent Yang, Gallagher James, support@opendap.org support
Orion,

I’m including Kent Yang from THG.

Thanks for letting us know. 

Kent, do you have any suggestions? We talked about 1.12 recently, but I seem to have forgotten our conclusions.

Thanks,
James
James Gallagher



Kent Yang

unread,
Nov 23, 2021, 4:25:56 PM11/23/21
to James Gallagher, Orion Poplawski, support@opendap.org support

I think we want to  stick to 1.10 now. We just passed 1.8. Once 1.12 becomes widely used, we will port to 1.12.

 

Kent

Orion Poplawski

unread,
Nov 23, 2021, 4:50:29 PM11/23/21
to Kent Yang, James Gallagher, support@opendap.org support
FWIW - I'm in the process of updating Fedora rawhide to hdf5 1.12.1. But that
won't be released as F36 until the spring.

Orion

On 11/23/21 14:25, Kent Yang wrote:
> I think we want to  stick to 1.10 now. We just passed 1.8. Once 1.12 becomes
> widely used, we will port to 1.12.
>
>  
>
> Kent
>
>  
>
> *From: *James Gallagher <jgall...@opendap.org>
> *Date: *Tuesday, November 23, 2021 at 12:12 PM
> *To: *Orion Poplawski <or...@nwra.com>, Kent Yang <mya...@hdfgroup.org>
> *Cc: *Gallagher James <jgall...@opendap.org>, "sup...@opendap.org support"
> <sup...@opendap.org>
> *Subject: *Re: [support] bes fails to compile with HDF5 1.12.1
>
>  
>
> Orion,
>
>  
>
> I’m including Kent Yang from THG.
>
>  
>
> Thanks for letting us know. 
>
>  
>
> Kent, do you have any suggestions? We talked about 1.12 recently, but I seem
> to have forgotten our conclusions.
>
>  
>
> Thanks,
>
> James
>
>
>
> On Nov 20, 2021, at 16:23, Orion Poplawski <or...@nwra.com
> <mailto:or...@nwra.com>> wrote:
>
>  
>
> I'm trying to update Fedora to hdf5 1.12.1 but bes is failing to compile
> with it:
>
> libtool: compile:  g++ -DHAVE_CONFIG_H -I. -I../.. -I gctp/include -I.
> -I../../dispatch -I../../dap -I/usr/include/libdap -I/usr/include/libxml2
> -DMODULE_NAME=\"hdf5_handler\" -DMODULE_VERSION=\"1.16.4\"
> -I/usr/include/cfitsio -I/usr/include/tirpc -I/include -g -O2 --pedantic
> --std=c++11 -c HDF5Array.cc <http://HDF5Array.cc>  -fPIC -DPIC -o
> .libs/HDF5Array.o
> HDF5Array.cc <http://HDF5Array.cc>: In member function 'bool
> HDF5Array::m_array_of_reference(hid_t, hid_t)':
> HDF5Array.cc:619 <http://hdf5array.cc:619>:50: error: no match for
> 'operator[]' (operand types are 'hdset_reg_ref_t' and 'int')
>  619 |                 if (rbuf[offset[0] + i * step[0]][0] != '\0') {
>      |                                                  ^
> In file included from h5get.h:38,
>                 from HDF5Array.h:34,
>                 from HDF5Array.cc:47 <http://hdf5array.cc:47>:
> HDF5Array.cc:622 <http://hdf5array.cc:622>:109: error: cannot convert
> 'hdset_reg_ref_t' to 'const void*'
>  622 |                     hid_t did_r = H5RDEREFERENCE(d_dset_id,
> H5R_DATASET_REGION, rbuf[offset[0] + i * step[0]]);
>      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
>      |                                             |
>      |                                             hdset_reg_ref_t
> h5apicompatible.h:25:89: note: in definition of macro 'H5RDEREFERENCE'
>   25 | #define H5RDEREFERENCE(obj_id,ref_type,ref)
> H5Rdereference2(obj_id,H5P_DEFAULT,ref_type,ref)
>      |                         ^~~
> In file included from HDF5Array.h:31,
>                 from HDF5Array.cc:47 <http://hdf5array.cc:47>:
> /usr/include/H5Rpublic.h:791:92: note:   initializing argument 4 of 'hid_t
> H5Rdereference2(hid_t, hid_t, H5R_type_t, const void*)'
>  791 | H5_DLL hid_t H5Rdereference2(hid_t obj_id, hid_t oapl_id,
> H5R_type_t ref_type, const void *ref);
>      |                ~~~~~~~~~~~~^~~
> HDF5Array.cc:635 <http://hdf5array.cc:635>:107: error: cannot convert
> 'hdset_reg_ref_t' to 'const void*'
>  635 |                     hid_t space_id = H5Rget_region(did_r,
> H5R_DATASET_REGION, rbuf[offset[0] + i * step[0]]);
>      |               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
>      |                                           |
>      |                                           hdset_reg_ref_t
> In file included from HDF5Array.h:31,
>                 from HDF5Array.cc:47 <http://hdf5array.cc:47>:
> /usr/include/H5Rpublic.h:822:76: note:   initializing argument 3 of 'hid_t
> H5Rget_region(hid_t, H5R_type_t, const void*)'
>  822 | H5_DLL hid_t H5Rget_region(hid_t dataset, H5R_type_t ref_type,
> const void *ref);
>      | ~~~~~~~~~~~~^~~
> make[5]: *** [Makefile:849: HDF5Array.lo] Error 1
> make[5]: Leaving directory
> '/builddir/build/BUILD/bes-3.20.9/modules/hdf5_handler'
> make[5]: *** Waiting for unfinished jobs....
> make[5]: Entering directory
> '/builddir/build/BUILD/bes-3.20.9/modules/hdf5_handler'
> /bin/sh ../../libtool  --tag=CXX   --mode=compile g++ -DHAVE_CONFIG_H -I.
> -I../..  -I gctp/include -I. -I../../dispatch -I../../dap
> -I/usr/include/libdap -I/usr/include/libxml2
> -DMODULE_NAME=\"hdf5_handler\" -DMODULE_VERSION=\"1.16.4\"
> -I/usr/include/cfitsio -I/usr/include/tirpc -I/include  -g -O2 --pedantic
> --std=c++11 -c -o HDF5Int8.lo HDF5Int8.cc <http://HDF5Int8.cc>
> libtool: compile:  g++ -DHAVE_CONFIG_H -I. -I../.. -I gctp/include -I.
> -I../../dispatch -I../../dap -I/usr/include/libdap -I/usr/include/libxml2
> -DMODULE_NAME=\"hdf5_handler\" -DMODULE_VERSION=\"1.16.4\"
> -I/usr/include/cfitsio -I/usr/include/tirpc -I/include -g -O2 --pedantic
> --std=c++11 -c HDF5Int8.cc <http://HDF5Int8.cc>  -fPIC -DPIC -o
> .libs/HDF5Int8.o
> make[5]: Leaving directory
> '/builddir/build/BUILD/bes-3.20.9/modules/hdf5_handler'
> make[4]: *** [Makefile:906: all-recursive] Error 1
> make[3]: *** [Makefile:679: all] Error 2
> make[2]: *** [Makefile:507: all-recursive] Error 1
> make[1]: *** [Makefile:780: all-recursive] Error 1
> make: *** [Makefile:556: all] Error 2
>
>
> Full build log:
> https://download.copr.fedorainfracloud.org/results/orion/hdf5-1.12.1/fedora-rawhide-x86_64/02980932-bes/builder-live.log.gz
> <https://download.copr.fedorainfracloud.org/results/orion/hdf5-1.12.1/fedora-rawhide-x86_64/02980932-bes/builder-live.log.gz>
>
> Adding -DH5_USE_110_API did not help.
>
>
> --
> Orion Poplawski
> he/him/his - surely the least important thing about me
> Manager of NWRA Technical Systems          720-772-5637
> NWRA, Boulder/CoRA Office             FAX: 303-415-9702
> 3380 Mitchell Lane                       or...@nwra.com
> Boulder, CO 80301                 https://www.nwra.com/
>
>  
>
> —
>
> James Gallagher
>
> jgall...@opendap.org <mailto:jgall...@opendap.org>
>
>  
>
>  
>
>  
>


--
Orion Poplawski
IT Systems Manager 720-772-5637

James Gallagher

unread,
Nov 28, 2021, 11:08:07 PM11/28/21
to Orion Poplawski, Gallagher James, Kent Yang, support@opendap.org support
Good to know.
--
James Gallagher
jgall...@opendap.org


signature.asc

Orion Poplawski

unread,
Nov 29, 2021, 12:04:42 PM11/29/21
to James Gallagher, Kent Yang, support@opendap.org support
FWIW -

I poked a bit at the error.  It seems the issue is that bes isn't treating 'hdset_reg_ref_t' as the opaque type it should be and that the underlying type has changed.  But I'm not very familiar with using the HDF5 API and so not really sure how to fix the code.

Orion

James Gallagher

unread,
Nov 30, 2021, 11:39:40 AM11/30/21
to Orion Poplawski, Gallagher James, Kent Yang, support@opendap.org support
Thanks. I’ll look at this.
James Gallagher



Reply all
Reply to author
Forward
0 new messages