Bug 2261231

Summary: h5py: FTBFS in Fedora rawhide/f40
Product: [Fedora] Fedora Reporter: Fedora Release Engineering <releng>
Component: h5pyAssignee: Terje Røsten <terje.rosten>
Status: CLOSED ERRATA QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 40CC: ksurma, orion, steve.traylen, terje.rosten
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: h5py-3.10.0-7.fc39 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2024-03-07 00:56:56 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 2231791, 2244836    
Attachments:
Description Flags
build.log
none
root.log
none
state.log none

Description Fedora Release Engineering 2024-01-29 20:07:39 UTC
h5py failed to build from source in Fedora rawhide/f40

https://koji.fedoraproject.org/koji/taskinfo?taskID=112298174


For details on the mass rebuild see:

https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
Please fix h5py at your earliest convenience and set the bug's status to
ASSIGNED when you start fixing it. If the bug remains in NEW state for 8 weeks,
h5py will be orphaned. Before branching of Fedora 41,
h5py will be retired, if it still fails to build.

For more details on the FTBFS policy, please visit:
https://docs.fedoraproject.org/en-US/fesco/Fails_to_build_from_source_Fails_to_install/

Comment 1 Fedora Release Engineering 2024-01-29 20:07:45 UTC
Created attachment 2012207 [details]
build.log

Comment 2 Fedora Release Engineering 2024-01-29 20:07:50 UTC
Created attachment 2012208 [details]
root.log

file root.log too big, will only attach last 32768 bytes

Comment 3 Fedora Release Engineering 2024-01-29 20:07:53 UTC
Created attachment 2012209 [details]
state.log

Comment 4 Karolina Surma 2024-02-15 11:06:20 UTC
Reported upstream: https://github.com/h5py/h5py/issues/2379

Comment 5 Aoife Moloney 2024-02-15 23:17:13 UTC
This bug appears to have been reported against 'rawhide' during the Fedora Linux 40 development cycle.
Changing version to 40.

Comment 6 Orion Poplawski 2024-02-16 04:12:30 UTC
I fixed one issue, but now getting this on i686:

builddir/build/BUILD/h5py-3.10.0/serial/h5py/defs.c:14922:85: error: passing argument 4 of ‘H5Dread_chunk’ from incompatible pointer type [-Wincompatible-pointer-types]
14922 |         __pyx_v_r = H5Dread_chunk(__pyx_v_dset_id, __pyx_v_dxpl_id, __pyx_v_offset, __pyx_v_filters, __pyx_v_buf);
      |                                                                                     ^~~~~~~~~~~~~~~
      |                                                                                     |
      |                                                                                     __pyx_t_5numpy_uint32_t * {aka long unsigned int *}
In file included from /usr/include/hdf5.h:25,
                 from /builddir/build/BUILD/h5py-3.10.0/serial/h5py/api_compat.h:27,
                 from /builddir/build/BUILD/h5py-3.10.0/serial/h5py/defs.c:1246:
/usr/include/H5Dpublic.h:1003:92: note: expected ‘uint32_t *’ {aka ‘unsigned int *’} but argument is of type ‘__pyx_t_5numpy_uint32_t *’ {aka ‘long unsigned int *’}
 1003 | H5_DLL herr_t H5Dread_chunk(hid_t dset_id, hid_t dxpl_id, const hsize_t *offset, uint32_t *filters,
      |                                                                                  ~~~~~~~~~~^~~~~~~
/builddir/build/BUILD/h5py-3.10.0/serial/h5py/defs.c: In function ‘__pyx_f_4h5py_4defs_H5Pget_driver_info’:
/builddir/build/BUILD/h5py-3.10.0/serial/h5py/defs.c:31935:13: warning: assignment discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
31935 |   __pyx_v_r = H5Pget_driver_info(__pyx_v_plist_id);
      |             ^

Now at the moment this seems like a cython or numpy issue - uint32_t should be an absolute type - but it seems like something is defining it in an unexpected way.

Comment 7 Terje Røsten 2024-02-19 20:38:10 UTC
I find the message from gcc as confusing as it gets, however it seem the crux is

uint32_t * == unsigned int * (32 bits) vs long unsigned int * (64 bits)?


Problem is not new, it's just GCC 14 that convert the previous warning to error I think,

from previous build:

 https://koji.fedoraproject.org/koji/buildinfo?buildID=2313541
 https://kojipkgs.fedoraproject.org//packages/h5py/3.10.0/1.fc39/data/logs/i686/build.log
 
/builddir/build/BUILD/h5py-3.10.0/serial/h5py/defs.c:14902:85: warning: passing argument 4 of ‘H5Dread_chunk’ from incompatible pointer type [-Wincompatible-pointer-types]
14902 |         __pyx_v_r = H5Dread_chunk(__pyx_v_dset_id, __pyx_v_dxpl_id, __pyx_v_offset, __pyx_v_filters, __pyx_v_buf);
      |                                                                                     ^~~~~~~~~~~~~~~
      |                                                                                     |
      |                                                                                     __pyx_t_5numpy_uint32_t * {aka long unsigned int *}
In file included from /usr/include/hdf5.h:25,
                 from /builddir/build/BUILD/h5py-3.10.0/serial/h5py/api_compat.h:27,
                 from /builddir/build/BUILD/h5py-3.10.0/serial/h5py/defs.c:1208:
/usr/include/H5Dpublic.h:1003:92: note: expected ‘uint32_t *’ {aka ‘unsigned int *’} but argument is of type ‘__pyx_t_5numpy_uint32_t *’ {aka ‘long unsigned int *’}
 1003 | H5_DLL herr_t H5Dread_chunk(hid_t dset_id, hid_t dxpl_id, const hsize_t *offset, uint32_t *filters,
      |                                                                                  ~~~~~~~~~~^~~~~~~

Comment 8 Fedora Update System 2024-02-24 17:14:01 UTC
FEDORA-2024-11481d99ba (h5py-3.10.0-6.fc39) has been submitted as an update to Fedora 39.
https://bodhi.fedoraproject.org/updates/FEDORA-2024-11481d99ba

Comment 9 Fedora Update System 2024-02-25 02:30:14 UTC
FEDORA-2024-11481d99ba has been pushed to the Fedora 39 testing repository.
Soon you'll be able to install the update with the following command:
`sudo dnf upgrade --enablerepo=updates-testing --refresh --advisory=FEDORA-2024-11481d99ba`
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2024-11481d99ba

See also https://fedoraproject.org/wiki/QA:Updates_Testing for more information on how to test updates.

Comment 10 Fedora Update System 2024-02-28 01:03:21 UTC
FEDORA-2024-11481d99ba has been pushed to the Fedora 39 testing repository.
Soon you'll be able to install the update with the following command:
`sudo dnf upgrade --enablerepo=updates-testing --refresh --advisory=FEDORA-2024-11481d99ba`
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2024-11481d99ba

See also https://fedoraproject.org/wiki/QA:Updates_Testing for more information on how to test updates.

Comment 11 Fedora Update System 2024-03-07 00:56:56 UTC
FEDORA-2024-11481d99ba (h5py-3.10.0-7.fc39) has been pushed to the Fedora 39 stable repository.
If problem still persists, please make note of it in this bug report.