You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The text was updated successfully, but these errors were encountered:
akien-mga
changed the title
build failure in function convert_array_std140
Build failure in templated function convert_array_std140 with GCC 7.5
Jul 11, 2023
Looks like a compiler bug, GCC 7.5 has been out of support for years now. The code was indeed added in #74937. If we want to, I could maybe add a small workaround for this, should be pretty easy to do (probably just removing the explicit conversion call). Of course, I can't really test this and the compiler might just find something else to fail on next, these template errors have a bad habit of cascading into whack-a-moles.
I tried to select other available compilers:
While the default gcc 7.5 fails as described,
version 8.2.1 was rejected by godot as unsupported,
9.3.1, 10.4.0, 11.3.0 and 12.3.0 can build without failure.
Conclusion:
Using gcc > 8 does not show this error during build.
Instead of fixing the issue, a work around is possible, where a newer gcc version is available.
If others experience a similar issue with gcc 7 and this is somehow inevitable, godot might perhaps consider to raise system requirements regarding gcc?
- GCC 7 supports C++17 but seems to have breaking regressions, see godotengine#79352.
- GCC 8 broke C++17 guaranteed copy elision support, fixed in 8.4, but...
- GCC 9 is old enough (2022) to use as a baseline and stop dealing with
unmaintained and less efficient compiler versions.
- GCC 7 supports C++17 but seems to have breaking regressions, see godotengine#79352.
- GCC 8 broke C++17 guaranteed copy elision support, fixed in 8.4, but...
- GCC 9 is old enough (2022) to use as a baseline and stop dealing with
unmaintained and less efficient compiler versions.
Godot version
4.1 stable
System information
openSUSE Leap 15.4 and 15.5
Issue description
Building godot 4.1 for openSUSE in
https://build.opensuse.org/package/show/home:cunix:godot/godot
fails for Leap with
build log is currently here:
https://build.opensuse.org/public/build/home:cunix:godot/15.4/x86_64/godot/_log
Building previous stable godot version 4.0.3 succeeds:
https://build.opensuse.org/public/build/games/15.4/x86_64/godot/_log
Build of 4.1 for Tumbleweed works:
https://build.opensuse.org/public/build/home:cunix:godot/openSUSE_Tumbleweed/x86_64/godot/_log
I'm not sure what is happening,
This might be introduced by
#74937
and only visible with older build tools.
For example Tumbleweed uses gcc-c++ 13, while Leap has version 7.5.
Perhaps this is too old nowadays and unsupported?
Steps to reproduce
branch
https://build.opensuse.org/package/show/games/godot
on obs, update and build godot 4.1
Minimal reproduction project
pre project selection
The text was updated successfully, but these errors were encountered: