Build failure with hdf5 1.12.1
Closed this issue · 6 comments
opoplawski commented
Trying to build 3.20.11 for Fedora rawhide with hdf5-1.12-1:
/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.6\" -I/usr/include/cfitsio -I/usr/include/tirpc -I/include -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection --std=c++11 -c -o HDF5Array.lo HDF5Array.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.6\" -I/usr/include/cfitsio -I/usr/include/tirpc -I/include -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection --std=c++11 -c HDF5Array.cc -fPIC -DPIC -o .libs/HDF5Array.o
HDF5Array.cc: In member function 'bool HDF5Array::m_array_of_reference_new_h5_apis(hid_t, hid_t)':
HDF5Array.cc:840:84: error: request for member 'data' in 'rbuf', which is of pointer type 'H5R_ref_t*' (maybe you meant to use '->' ?)
840 | if(H5Dread(dset_id,H5T_STD_REF,mem_space_id,file_space_id,H5P_DEFAULT,rbuf.data())<0)
| ^~~~
HDF5Array.cc:849:67: error: request for member 'data' in 'rbuf', which is of pointer type 'H5R_ref_t*' (maybe you meant to use '->' ?)
849 | H5R_type_t ref_type = H5Rget_type((const H5R_ref_t *)rbuf.data());
| ^~~~
make[5]: *** [Makefile:862: HDF5Array.lo] Error 1
ndp-opendap commented
Hi Orion,
I made a patch and it's checked in on master.
Is that enough for you to verify?
If so I'll push out another release bundle asap.
Thanks for letting us know!
Sincerely,
Nathan
On Jul 6, 2022, at 6:57 AM, Orion Poplawski ***@***.***> wrote:
Trying to build 3.20.11 for Fedora rawhide with hdf5-1.12-1:
/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.6\" -I/usr/include/cfitsio -I/usr/include/tirpc -I/include -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection --std=c++11 -c -o HDF5Array.lo HDF5Array.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.6\" -I/usr/include/cfitsio -I/usr/include/tirpc -I/include -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection --std=c++11 -c HDF5Array.cc -fPIC -DPIC -o .libs/HDF5Array.o
HDF5Array.cc: In member function 'bool HDF5Array::m_array_of_reference_new_h5_apis(hid_t, hid_t)':
HDF5Array.cc:840:84: error: request for member 'data' in 'rbuf', which is of pointer type 'H5R_ref_t*' (maybe you meant to use '->' ?)
840 | if(H5Dread(dset_id,H5T_STD_REF,mem_space_id,file_space_id,H5P_DEFAULT,rbuf.data())<0)
| ^~~~
HDF5Array.cc:849:67: error: request for member 'data' in 'rbuf', which is of pointer type 'H5R_ref_t*' (maybe you meant to use '->' ?)
849 | H5R_type_t ref_type = H5Rget_type((const H5R_ref_t *)rbuf.data());
| ^~~~
make[5]: *** [Makefile:862: HDF5Array.lo] Error 1
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you are subscribed to this thread.
= = =
Nathan Potter ndp at opendap.org
OPeNDAP, Inc. +1.541.231.3317
kyang2014 commented
I also verified Nathan's latest check-in to the master with HDF5 1.12.1. It compiled and passed all tests.
opoplawski commented
I did a build with current master - this error is fixed but I still have an error:
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.6\" -I/usr/include/cfitsio -I/usr/include/tirpc -I/include -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection --std=c++11 -c h5gmcfdap.cc -fPIC -DPIC -o .libs/h5gmcfdap.o
h5gmcfdap.cc: In function 'void update_GPM_special_attrs_cfdmr(libdap::D4Group*, const std::vector<HDF5CF::GMCVar*>&)':
h5gmcfdap.cc:1321:46: error: 'class libdap::D4Attributes' has no member named 'erase'
1321 | (*vi)->attributes()->erase("_FillValue");
| ^~~~~
h5gmcfdap.cc:1332:46: error: 'class libdap::D4Attributes' has no member named 'erase'
1332 | (*vi)->attributes()->erase("_FillValue");
| ^~~~~
make[5]: *** [Makefile:862: h5gmcfdap.lo] Error 1
kyang2014 commented
I think your libdap version is old. Could you try the latest 3.20.10 release?
opoplawski commented
Okay, updating libdap seems to have resolved that. Now I'm getting:
libtool: link: g++ -Wno-vla-extension -Wno-inconsistent-missing-override -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection --std=c++11 -o .libs/build_dmrpp build_dmrpp-DMRpp.o build_dmrpp-DmrppCommon.o build_dmrpp-Chunk.o build_dmrpp-CurlHandlePool.o build_dmrpp-DmrppByte.o build_dmrpp-DmrppArray.o build_dmrpp-DmrppFloat32.o build_dmrpp-DmrppFloat64.o build_dmrpp-DmrppInt16.o build_dmrpp-DmrppInt32.o build_dmrpp-DmrppInt64.o build_dmrpp-DmrppInt8.o build_dmrpp-DmrppUInt16.o build_dmrpp-DmrppUInt32.o build_dmrpp-DmrppUInt64.o build_dmrpp-DmrppStr.o build_dmrpp-DmrppStructure.o build_dmrpp-DmrppUrl.o build_dmrpp-DmrppD4Enum.o build_dmrpp-DmrppD4Group.o build_dmrpp-DmrppD4Opaque.o build_dmrpp-DmrppD4Sequence.o build_dmrpp-DmrppTypeFactory.o build_dmrpp-DmrppParserSax2.o build_dmrpp-DmrppMetadataStore.o build_dmrpp-CredentialsManager.o build_dmrpp-AccessCredentials.o build_dmrpp-NgapS3Credentials.o build_dmrpp-SuperChunk.o build_dmrpp-awsv4.o build_dmrpp-DMZ.o build_dmrpp-DmrppRequestHandler.o build_dmrpp-build_dmrpp.o build_dmrpp-build_dmrpp_util.o build_dmrpp-h5common.o ../../dap/.libs/libdap_module.a -L/usr/lib64/libdap -L../../dispatch -L../../http /home/orion/fedora/bes/bes-20781c060611626c4fbf9788510fd8a5794a2dcc/http/.libs/libbes_http.a -L../dispatch /home/orion/fedora/bes/bes-20781c060611626c4fbf9788510fd8a5794a2dcc/dispatch/.libs/libbes_dispatch.so -lbz2 -lpthread -L/usr/local/opt/openssl/lib -L. -lhdf5 -ldl -ldapserver -ldapclient -ldap -lcrypto -lxml2 -lz -lcurl -luuid -ltirpc
/usr/bin/ld: cannot find ../../dap/.libs/libdap_module.a: No such file or directory
collect2: error: ld returned 1 exit status
make[4]: *** [Makefile:873: build_dmrpp] Error 1
make[4]: Leaving directory '/home/orion/fedora/bes/bes-20781c060611626c4fbf9788510fd8a5794a2dcc/modules/dmrpp_module'
I believe this is a parallel build issue and that dmrpp_module isn't getting a proper dependency on dap_module. Not quite sure how this is supposed to expressed in autotools.
opoplawski commented
Okay finally found the dropping --disable-static workaround for libdap_module.