Bug 2385604

Summary: rust-drm-ffi: FTBFS in Fedora rawhide/f43
Product: [Fedora] Fedora Reporter: Fedora Release Engineering <releng>
Component: rust-drm-ffiAssignee: Rust SIG <rust-sig>
Status: CLOSED RAWHIDE QA Contact:
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: rawhideCC: davide, decathorpe, rust-sig
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: ---
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2025-08-18 12:56:17 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: 2339432, 2385603    
Attachments:
Description Flags
build.log
none
root.log
none
state.log none

Description Fedora Release Engineering 2025-07-31 10:58:32 UTC
rust-drm-ffi failed to build from source in Fedora rawhide/f43

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


For details on the mass rebuild see:

https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild
Please fix rust-drm-ffi 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,
rust-drm-ffi will be orphaned. Before branching of Fedora 44,
rust-drm-ffi 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 2025-07-31 10:58:38 UTC
Created attachment 2101710 [details]
build.log

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

Comment 2 Fedora Release Engineering 2025-07-31 10:58:44 UTC
Created attachment 2101711 [details]
root.log

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

Comment 3 Fedora Release Engineering 2025-07-31 10:58:48 UTC
Created attachment 2101712 [details]
state.log

Comment 4 Fabio Valentini 2025-07-31 15:15:18 UTC
As far as I can tell, this issue is caused by libdrm adding a field to a struct that's in the API surface between 2.4.124 and 2.4.125:

"""
error[E0063]: missing field `point` in initializer of `drm_sys::drm_syncobj_handle`
  --> src/syncobj.rs:48:20
   |
48 |     let mut args = drm_syncobj_handle {
   |                    ^^^^^^^^^^^^^^^^^^ missing `point`
error[E0063]: missing field `point` in initializer of `drm_sys::drm_syncobj_handle`
  --> src/syncobj.rs:72:20
   |
72 |     let mut args = drm_syncobj_handle {
   |                    ^^^^^^^^^^^^^^^^^^ missing `point`
"""

The generated bindings pick up the change from the headers, but the "high-level" bindings in the drm-ffi and drm crates need to be adapted.

(I'm not sure why adding a field to a struct wasn't considered a breaking ABI change here ...)

Comment 5 Fabio Valentini 2025-08-18 12:56:17 UTC
Fixed by backporting upstream commit for these kernel / drm header changes:

https://bodhi.fedoraproject.org/updates/FEDORA-2025-4b8dc1dc53
https://bodhi.fedoraproject.org/updates/FEDORA-2025-dbc1cec24c