Bug 2336026

Summary: abcm2ps fails to build with GCC 15/C23 ("int bool;")
Product: [Fedora] Fedora Reporter: Dave Malcolm <dmalcolm>
Component: abcm2psAssignee: Stuart D Gathman <stuart>
Status: CLOSED CURRENTRELEASE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: unspecified    
Version: 42CC: stuart
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-04-12 19:54:23 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:31:37 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/8476059/

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

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

format.c: In function 'interpret_fmt_line'
format.c:1161:29: error: two or more data types in declaration specifiers
 1161 |                         int bool;
      |                             ^~~~
format.c:1161:25: warning: useless type name in empty declaration
 1161 |                         int bool;
      |                         ^~~

This is probably due to GCC 15 now defaulting to -std=gnu23, whereas GCC 14 defaulted to -std=gnu17: 'bool' is a keyword in C23.  It's probably fixable by renaming this variable (or by manually adding -std=gnu17 to the C build flags)


Reproducible: Always

Comment 1 Aoife Moloney 2025-02-26 13:21:25 UTC
This bug appears to have been reported against 'rawhide' during the Fedora Linux 42 development cycle.
Changing version to 42.

Comment 2 Stuart D Gathman 2025-04-08 04:33:48 UTC
In working on this, I discovered there is a much more complete man page: https://manpages.ubuntu.com/manpages/trusty/man1/abcm2ps.1.html

I wonder where the source is?

Comment 3 Stuart D Gathman 2025-04-12 19:54:23 UTC
Release with a patch to rename bool -> ibool already released.  Forgot to select the bug to be closed.