From Fedora Project Wiki
Line 4: Line 4:


=== Current status ===
=== Current status ===
* Mass prebuild of rawhide with GCC 15 on aarch64, ppc64le, s390x, and x86_64 has run here: https://copr.fedorainfracloud.org/coprs/dmalcolm/gcc-15-smoketest-3/builds/
* Mass prebuild of rawhide with GCC 15 on aarch64, ppc64le, s390x, and x86_64 ran here: https://copr.fedorainfracloud.org/coprs/dmalcolm/gcc-15-smoketest-3/builds/
** All of the builds with gcc 15 are done, about 25% failed. I'm running into uncaught exceptions being thrown by mpb, both when trying to analyze the failures by building against a baseline gcc 14 and when trying to get more accurate stats.
** 7273 successful builds with gcc 15
** 1438 builds that failed for some reason with gcc 15
* Rerunning the 1438 failed builds:
** with gcc 15 (experiment): https://copr.fedorainfracloud.org/coprs/dmalcolm/gcc-15-smoketest-3.failed/builds/
** with gcc 14 (control):    https://copr.fedorainfracloud.org/coprs/dmalcolm/gcc-15-smoketest-3.failed.checker/builds/ 
* Tracker bug for failures [https://bugzilla.redhat.com/buglist.cgi?bug_id=2333037&bug_id_type=anddependson&format=tvp&list_id=13537350 here]
* Tracker bug for failures [https://bugzilla.redhat.com/buglist.cgi?bug_id=2333037&bug_id_type=anddependson&format=tvp&list_id=13537350 here]


Line 23: Line 27:
Copr build error: Build failed
Copr build error: Build failed
</pre>
</pre>
 
* I was running into exceptions being thrown by mpb, both when trying to analyze the failures by building against a baseline gcc 14 and when trying to get more accurate stats.  These are fixed now (issues were 404 when trying to download log files due to results being cleaned up, and the .checker copr project only containing one arch, not all 4).


=== Function prototypes with empty params change from implicit "int" to "void" ===
=== Function prototypes with empty params change from implicit "int" to "void" ===

Revision as of 22:27, 6 January 2025

GCC 15 mass prebuild

These are notes to myself on my attempts to use mass-prebuilder to test GCC 15 in Fedora in December 2024 in preparation for Changes/GNUToolchainF42

Current status

Older status

  • Was having quota issues uploading the repos, so was only testing aarch64 at first. This is now fixed.
  • Timeout building GCC in copr, so using one of Jakub's scratch builds, turned into repos here.
  • Disabling annobin in redhat-rpm-config in the copr for now due to https://sourceware.org/bugzilla/show_bug.cgi?id=32429
  • Had to rebuild libtool against the new gcc due to:
Problem: cannot install both gcc-15.0.0-0.2.fc42.aarch64 from https_dmalcolm_fedorapeople_org_gcc_gcc_15_mass_prebuild_arch and gcc-14.2.1-6.fc42.aarch64 from fedora
  - package libtool-2.5.4-1.fc42.aarch64 from fedora requires gcc(major) = 14, but none of the providers can be installed
  - cannot install the best candidate for the job
  - conflicting requests
You can try to add to command line:
  --no-best to not limit the transaction to the best candidates

Copr build error: Build failed
  • I was running into exceptions being thrown by mpb, both when trying to analyze the failures by building against a baseline gcc 14 and when trying to get more accurate stats. These are fixed now (issues were 404 when trying to download log files due to results being cleaned up, and the .checker copr project only containing one arch, not all 4).

Function prototypes with empty params change from implicit "int" to "void"

GCC 15 defaults to C23, in which () now means the same as (void) in both function declarations and definitions, where previously that change had been made for definitions only.

Hence

extern int foo();

now means:

extern int foo(void);

rather than:

extern int foo(int)

which may require changes to prototypes and header files (or the use of -std=c17 or similar).

Note: the commit in question was https://gcc.gnu.org/git/?p=gcc.git;a=commitdiff;h=0a4b219d39c74aec7ebf87ac3be38d8f93efd634

Examples:

  • rhbz#2331208 epson-inkjet-printer-escpr fails to build with GCC 15 (implicit int param in function prototype)