wiki:gcc15-todo

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");

Merged patch that applies to release tarball: ​https://www.linuxfromscratch.org/patches/downloads/libtirpc/libtirpc-1.3.6-gcc15_fixes-1.patch

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

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

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/<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.

Last modified 16 months ago Last modified on 06/22/2025 11:33:34 AM
Note: See TracWiki for help on using the wiki.