Packages that need to be updated for gcc-15.
Use strikeout when completed. That is, use double tilde characters around the title.
I've reorganized the packages by BLFS chapter. Details are still below. -- Bruce
================
04 krb5 bdubbs 2025-06-01
04 cyrus-sasl-2.1.28 bdubbs 2025-06-01 with patch from DJ Lucas
05 parted-3.6 bdubbs 2025-06-01 Needed a one line sed.
05 mdadm No upstream fix, temporary workaround is CC="gcc -std=gnu17 -Wno-error=unterminated-string-initialization"
09 libunwind bdubbs 2025-05-24 Needed a one line sed.
09 aspell bdubbs 2025-06-01 Needed a one line (relatively complex) sed.
10 graphite2 bdubbs 2025-06-01 Needed a one line sed.
10 woff2 bdubbs 2025-06-01 Needed a one line sed.
11 lsof Status merged in 4.99.4, nothing to do
11 sharutils 'several typedef enum {false...' as well ass empty type.
12 gpm renodr 2025-06-03 Needed a patch
12 cpio Thomas 2025-05-31 Needed two seds.
13 yasm bdubbs 2025-06-01 Needed a one line sed.
13 unifdef bdubbs 2025-06-01 Needed a one line sed and a couple of touchups.
13 guile-3.0.10 renodr 2025-06-03, forced to use std=gnu17 because the patch submitted upstream does not work
15 cifs-utils-7.3 renodr 2025-06-02 Needed an autoreconf
17 libtirpc bdubbs 2025-06-03 Added a patch from DJ Lucas
19 Procmail-3.24 renodr 2025-06-03, fixed by specifying the C standard like Fedora. Sent mail to the lists about dropping.
21 sendmail-8.18.1 renodr 2025-06-02 Needed a patch from Fedora
21 postfix-3.10.2 thomas 2025-06-22 Fixed by specifying CC=gcc std=gnu17". Next release (as verified against the latest RC postfix-3.11-20250621) still needs that.
25 gtk4 bdubbs 2025-06-03 Needed a multiple line sed.
25 freeglut bdubbs 2025-06-03 Needed a one (logical) line sed.
26 gdm renodr 2025-06-02 needed a one line sed
34 evince renodr 2025-06-02 fixed by add -DNO_DEBUG to CPPFLAGS.
40/09 Firefox Fixed at Firefox-128.11.0
42 libsndfile zeckma 2025-06-02 fixed by one line sed
42 xvidcore bdubbs 2025-06-03 Needed a one line sed.
42 xine-lib Needs patch at https://www.linuxfromscratch.org/patches/downloads/xine-lib/xine-lib-1.2.13-gcc15_fixes-1.patch
45 libburn-1.5.6 bdubbs 2025-06-03 Needed a one line sed.
46 cups-filters-2.0.1 bdubbs 2025-06-03 Needed a one line sed.
46 ghostscript-10.5.1 bdubbs 2025-06-03 Fixed with patch from Joe Locash,
50 mupdf Fixed at installed version MuPDF-1.26.1
50 enscript - Unable to fix locally, backed off to C17
51 texlive renodr 2025-06-03 Fixed with setting the C standard.
====================
The packages with missing <cstdint> include
- graphite2: tests/featuremap/featuremaptest.cpp
- woff: src/woff2_out.cc
They can be fixed trivially by adding the missing #include <cstdint> line.
ex: sed -e '/<memory>/a #include <stdint.h>' -i tests/featuremap/featuremaptest.cpp
The packages misusing non-prototype function declarations
An example:
double strtod();
strtod("114.514");
- krb5: https://github.com/krb5/krb5/pull/1304 (one hunk does not apply but it can be ignored)
- gpm: https://github.com/telmich/gpm/pull/49 (see my comment)
- libtirpc: http://git.linux-nfs.org/?p=steved/libtirpc.git;a=commit;h=d473f1e1f6ba80bfaee4daa058da159305167323 and http://git.linux-nfs.org/?p=steved/libtirpc.git;a=commit;h=240ee6c774729c9c24812aa8912f1fcf8996b162
Merged patch that applies to release tarball: https://www.linuxfromscratch.org/patches/downloads/libtirpc/libtirpc-1.3.6-gcc15_fixes-1.patch
rustc resolved in 1.87.0- libunwind: https://github.com/libunwind/libunwind/pull/831
cpio: https://savannah.gnu.org/bugs/?66297Patch implemented as a sed in [90e2079c1a]
The packages using a new keyword as identifier
Examples:
typedef int bool;
enum { true = 1, false = 0 };
This can be just deleted. Or:
int constexpr;
This will need to be renamed.
- yasm:
sed 's/def __cplusplus/ defined(__cplusplus) || __STDC_VERSION__ >= 202311L/' -i libyasm/bitvect.h - libsndfile:
sed '/typedef enum/,/bool ;/d' -i src/ALAC/alac_{en,de}coder.c - unifdef:
sed 's/constexpr/unifdef_&/g' -i unifdef.c - gdm:
sed -r 's/([(*])bool([) ])/\1boolval\2/' -i ../common/gdm-settings-utils.*
A bug in the package is exploited by the new compiler
- gtk4: https://gitlab.gnome.org/GNOME/gtk/-/commit/b1cb120ec4a2c0b058a40a02a236fc055fd7bf06
- aspell: https://github.com/GNUAspell/aspell/pull/650
Very complicated case
- texlive: it's kinda like krb5, a lot of legacy code misuses non-prototype function declarations. But there's no upstream fix available yet. And it also have redefined
boolin many files. The only "solution" for now seems CC="gcc -std=gnu17". - Also it seems evince is using a problematic texlive debug header. It can be suppressed by adding
-DNO_DEBUGinto CPPFLAGS. Don't add a space after-Dhere: gobject-introspection cannot handle the space after-Dproperly.
cyrus-sasl-2.1.28
Status: Merged/Upstream no release yet
- https://github.com/cyrusimap/cyrus-sasl/pull/873.diff -- This will apply to 2.1.28
- https://github.com/cyrusimap/cyrus-sasl/commit/e256dd0cc61d60cbb905b601241077f0a2ba0907 is the commit to master
Combined patch: https://www.linuxfromscratch.org/patches/downloads/cyrus-sasl/cyrus-sasl-2.1.28-gcc15_fixes-1.patch
Needs autoreconf -fiv
lsof
Status merged in 4.99.4, nothing to do
parted-3.6
Status: Needs https://git.savannah.gnu.org/cgit/parted.git/commit/?id=16343bda6ce0d41edf43f8dac368db3bbb63d271
sed -e "/^do_version/s@)@PedDevice\*\* dev, PedDisk\*\* diskp)@" -i.bak parted/parted.c
sendmail-8.18.1
Status: Needs https://src.fedoraproject.org/rpms/sendmail/raw/rawhide/f/sendmail-8.18.1-gcc-15-fix.patch
libburn-1.5.6
cifs-utils-7.3
Status: No source modifications
run autoreconf -fi
freeglut-3.6.0
Status: Needs https://github.com/freeglut/freeglut/commit/800772e993a3ceffa01ccf3fca449d3279cde338
mupdf
Status: Fixed in BLFS see #21506
xvidcore-1.3.7
Status: Needs sed -i '/typedef int bool;/d' src/encoder.h
cups-filters-2.0.1
Needs https://github.com/OpenPrinting/cups-filters/commit/9871a50b5c1f9c2caa2754aac1f5db70c886021b.diff This sed also works
sed -i 's/int (\*proc_func)()/int (*proc_func)(FILE*, FILE*, void*)/' filter/foomatic-rip/process.h
Firefox-128.11.0
Status: Optional We build firefox with clang but since we still document using GCC this sed works for 128.10.1 (not tested for 128.11.0)
sed -e "s/<mask_type, N>/<mask_index, N>/" \
-i gfx/wr/swgl/src/vector_type.h
Procmail-3.24
Status: Not available Package hasn't been updated in years with pull requests https://github.com/BuGlessRB/procmail/pull/7 https://github.com/BuGlessRB/procmail/pull/9 still open for supporting gcc-14 and clang. Need to investigate further
ghostscript-10.5.1
Status: Needs https://cgit.ghostscript.com/cgi-bin/cgit.cgi/ghostpdl.git/commit/?id=ae940946473ceb8c5353bc6e7f04673c6e60502d Refactored for release tarball by Joe Locash https://wiki.linuxfromscratch.org/blfs/attachment/ticket/21500/ghostscript-10.05.1-gcc15.patch
guile-3.0.10
Status: Not fixed with patch https://debbugs.gnu.org/cgi/bugreport.cgi?filename=0001-Fix-build-with-C23-compilers.patch;bug=78464;msg=5;att=1 For now, CC="gcc -std=gnu17" ./configure... works, but we'll need to fix eventually.
sharutils-4.15.2
Status: See complete patchset here: https://lists.gnu.org/archive/html/bug-gnu-utils/2025-03/msg00000.html -- That's pretty invasive and doesn't work without other fixes from Fedora. Builds by nixing the 3 stdbool.h else cases (typedef enum..) and comment out fdopen, popen, localtime, and getpwnam but I'm unsure - rather somebody who is competent review.
