Bug 2336046 - astromenace fails to build with GCC 15 ("error: 'uint32_t' has not been declared")
Summary: astromenace fails to build with GCC 15 ("error: 'uint32_t' has not been decla...
Keywords:
Status: CLOSED RAWHIDE
Alias: None
Product: Fedora
Classification: Fedora
Component: astromenace
Version: rawhide
Hardware: Unspecified
OS: Linux
unspecified
medium
Target Milestone: ---
Assignee: Gwyn Ciesla
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks: gcc-15-mass-prebuild
TreeView+ depends on / blocked
 
Reported: 2025-01-06 23:02 UTC by Dave Malcolm
Modified: 2025-01-08 21:56 UTC (History)
2 users (show)

Fixed In Version:
Clone Of:
Environment:
Last Closed: 2025-01-08 21:56:23 UTC
Type: ---
Embargoed:


Attachments (Terms of Use)

Description Dave Malcolm 2025-01-06 23:02:50 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/8476099/

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

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

In file included from /builddir/build/BUILD/astromenace-1.4.2-build/astromenace-1.4.2-1781/src/assets/../core/core.h:31,
                 from /builddir/build/BUILD/astromenace-1.4.2-build/astromenace-1.4.2-1781/src/assets/shader.cpp:28:
/builddir/build/BUILD/astromenace-1.4.2-build/astromenace-1.4.2-1781/src/assets/../core/audio/audio.h:62:36: error: ‘uint32_t’ has not been declared
   62 | void vw_StopSound(unsigned int ID, uint32_t StopDelayTicks);
      |                                    ^~~~~~~~
/builddir/build/BUILD/astromenace-1.4.2-build/astromenace-1.4.2-1781/src/assets/../core/audio/audio.h:64:6: error: variable or field ‘vw_UpdateSound’ declared void
   64 | void vw_UpdateSound(uint32_t CurrentTick);
      |      ^~~~~~~~~~~~~~
/builddir/build/BUILD/astromenace-1.4.2-build/astromenace-1.4.2-1781/src/assets/../core/audio/audio.h:64:21: error: ‘uint32_t’ was not declared in this scope
   64 | void vw_UpdateSound(uint32_t CurrentTick);
      |                     ^~~~~~~~
/builddir/build/BUILD/astromenace-1.4.2-build/astromenace-1.4.2-1781/src/assets/../core/audio/audio.h:32:1: note: ‘uint32_t’ is defined in header ‘<cstdint>’; this is probably fixable by adding ‘#include <cstdint>’
   31 | #include "../base.h"
  +++ |+#include <cstdint>
   32 | 


Looks like this header should have been included, but older versions of the C++ stdlib happened to do it for you, so hopefully the fix is to simply add that #include.


Reproducible: Always

Comment 1 Jonathan Wakely 2025-01-08 12:18:50 UTC
https://github.com/viewizard/astromenace/pull/39 submitted upstream

Comment 2 Gwyn Ciesla 2025-01-08 21:56:23 UTC
Thank you, I applied the PR patch.


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