= 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 include - graphite2: tests/featuremap/featuremaptest.cpp - woff: src/woff2_out.cc They can be fixed trivially by adding the missing `#include ` line. ex: sed -e '//a #include ' -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/?66297~~ Patch 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 `bool` in 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_DEBUG` into CPPFLAGS. Don't add a space after `-D` here: gobject-introspection cannot handle the space after `-D` properly. = 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 Status: Needs https://build.opensuse.org/projects/openSUSE:Backports:SLE-15-SP4:RebuildFactoryCandidates/packages/libburn/files/libburn-1.5.6-c23.patch?expand=1 = 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///" \ -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.