Bug 2336264 - SuperLUMT fails to build with C23 ("sreadmt.c:65:5: error: too many arguments to function 'dumptitle'")
Summary: SuperLUMT fails to build with C23 ("sreadmt.c:65:5: error: too many arguments...
Keywords:
Status: CLOSED RAWHIDE
Alias: None
Product: Fedora
Classification: Fedora
Component: SuperLUMT
Version: rawhide
Hardware: Unspecified
OS: Linux
unspecified
medium
Target Milestone: ---
Assignee: Antonio T. sagitter
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks: gcc-15-mass-prebuild
TreeView+ depends on / blocked
 
Reported: 2025-01-07 22:42 UTC by Dave Malcolm
Modified: 2025-01-17 13:38 UTC (History)
2 users (show)

Fixed In Version:
Clone Of:
Environment:
Last Closed: 2025-01-17 13:38:26 UTC
Type: ---
Embargoed:


Attachments (Terms of Use)

Description Dave Malcolm 2025-01-07 22:42:42 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/8476053/

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

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

I see:

sreadmt.c: In function 'sreadmt':
sreadmt.c:65:5: error: too many arguments to function 'dumptitle'
   65 |     dumptitle(title);
      |     ^~~~~~~~~
sreadmt.c:33:13: note: declared here
   33 | static void dumptitle();
      |             ^~~~~~~~~
sreadmt.c: At top level:
sreadmt.c:102:6: error: conflicting types for 'dumptitle'; have 'void(char *)'
  102 | void dumptitle(char *title)
      |      ^~~~~~~~~
sreadmt.c:33:13: note: previous declaration of 'dumptitle' with type 'void(void)'
   33 | static void dumptitle();
      |             ^~~~~~~~~

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 Siddhesh Poyarekar 2025-01-17 13:38:26 UTC
Worked around in rawhide with -std=gnu17. Mass rebuild hasn't gotten to it yet, but there's a successful build with gcc15 already:

https://koji.fedoraproject.org/koji/buildinfo?buildID=2625023


Note You need to log in before you can comment on or make changes to this bug.