Bug 2336034

Summary: alevt fails to build with GCC 15 / C23 ("ui.c:159:57: error: passing argument 5 of ‘w->vbi->cache->op->foreach_pg’ from incompatible pointer type [-Wincompatible-pointer-types]")
Product: [Fedora] Fedora Reporter: Dave Malcolm <dmalcolm>
Component: alevtAssignee: Orphan Owner <extras-orphan>
Status: CLOSED WONTFIX QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: unspecified    
Version: rawhideCC: extras-orphan
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2025-02-10 21:27:04 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: 2333037    

Description Dave Malcolm 2025-01-06 22:59:35 UTC
I'm experimentally rebuilding rawhide with the not-yet-released GCC 15 to see if anything breaks, and to help write the porting guide.  See https://fedoraproject.org/wiki/User:Dmalcolm/gcc-15

My test build with GCC 15 failed:
https://copr.fedorainfracloud.org/coprs/dmalcolm/gcc-15-smoketest-3.failed/build/8476071/

whereas my test build with GCC 14 succeeded:
https://copr.fedorainfracloud.org/coprs/dmalcolm/gcc-15-smoketest-3.failed.checker/build/8477637/

Looking at the failure logs e.g.
https://download.copr.fedorainfracloud.org/results/dmalcolm/gcc-15-smoketest-3.failed/fedora-rawhide-x86_64/08476071-alevt/builder-live.log.gz
I see:

ui.c: In function ‘do_next_pgno’:
ui.c:159:57: error: passing argument 5 of ‘w->vbi->cache->op->foreach_pg’ from incompatible pointer type [-Wincompatible-pointer-types]
  159 |                     pgno, subno, dir, subs ? _next_subno:_next_pgno, &arg))
      |                                       ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~
      |                                                         |
      |                                                         int (*)(int *, struct vt_page *)
ui.c:159:57: note: expected ‘int (*)(void)’ but argument is of type ‘int (*)(int *, struct vt_page *)’

This is probably due to GCC 15 now defaulting to -std=gnu23, whereas GCC 14 defaulted to -std=gnu17, and C23 is stricter about function prototypes than C17.  It's probably fixable by fixing the function prototypes (or by manually adding -std=gnu17 to the C build flags)


Reproducible: Always

Comment 1 Maxwell G 2025-02-10 21:27:04 UTC
Automation has figured out the package is retired in Fedora Rawhide.

If you like it to be unretired, please open a ticket at
https://pagure.io/releng/new_issue?template=package_unretirement