#1128542 fcoe-utils: FTBFS with glibc 2.43 due to ISO C23 const return types

Package:
src:fcoe-utils
Source:
src:fcoe-utils
Submitter:
Aurelien Jarno
Date:
2026-08-16 00:55:02 UTC
Severity:
normal
Tags:
#1128542#5
Date:
2026-02-20 22:38:04 UTC
From:
To:
Dear maintainer(s),

fcoe-utils fails to build from source with glibc 2.43, currently in
experimental. From the build log:

| gcc -DPACKAGE_NAME=\"fcoe-utils\" -DPACKAGE_TARNAME=\"fcoe-utils\" -DPACKAGE_VERSION=\"1.0.34\" -DPACKAGE_STRING=\"fcoe-utils\ 1.0.34\" -DPACKAGE_BUGREPORT=\"https://github.com/openSUSE/fcoe-utils\" -DPACKAGE_URL=\"\" -DPACKAGE=\"fcoe-utils\" -DVERSION=\"1.0.34\" -I.  -I./include -I./include -DSYSCONFDIR="\"/etc\"" -D_FORTIFY_SOURCE=2 -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -Wformat=2 -Werror -Wextra -Wmissing-prototypes -Wstrict-prototypes -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/fcoe-utils-1.0.34=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -c -o lib/sysfs_hba.o lib/sysfs_hba.c
| lib/fcoe_utils.c: In function ‘get_ifname_from_symbolic_name’:
| lib/fcoe_utils.c:164:28: error: initialization discards ‘const’ qualifier from pointer target type [-Werror=discarded-qualifiers]
|   164 |         char *last_space = strrchr(symbolic_name, ' ');
|       |                            ^~~~~~~
| lib/sysfs_hba.c: In function ‘get_pci_dev_from_netdev’:
| lib/sysfs_hba.c:447:23: error: assignment discards ‘const’ qualifier from pointer target type [-Werror=discarded-qualifiers]
|   447 |                 subif = strchr(netdev, '.');
|       |                       ^
| cc1: all warnings being treated as errors
| make[1]: *** [Makefile:620: lib/fcoe_utils.o] Error 1
| make[1]: *** Waiting for unfinished jobs....
| cc1: all warnings being treated as errors
| make[1]: *** [Makefile:620: lib/sysfs_hba.o] Error 1
| make[1]: Leaving directory '/build/reproducible-path/fcoe-utils-1.0.34'
| dh_auto_build: error: make -j128 returned exit code 2
| make: *** [debian/rules:13: binary] Error 25
| dpkg-buildpackage: error: debian/rules binary subprocess failed with exit status 2

The full build log is available here [1].

The issue is due to ISO C23 declaration of bsearch, memchr, strchr,
strpbrk, strrchr, strstr, wcschr, wcspbrk, wcsrchr, wcsstr and wmemchr,
which now returns a pointer to a const-qualified type when the input
argument is a pointer to a const-qualified type [2].

I would like to thanks Emanuele Rocca for doing the archive rebuild on
a fast arm64 server.

Regards
Aurelien

[1] https://people.debian.org/~ema/glibc-2.43-rebuilds/output-1/fcoe-utils_arm64.build
[2] https://sourceware.org/git/?p=glibc.git;a=blob;f=NEWS;h=e271fb2e4d76903c77a302aaec1ca22ce31027d0;hb=f762ccf84f122d1354f103a151cba8bde797d521#l19

#1128542#10
Date:
2026-04-22 20:04:56 UTC
From:
To:
control: tag -1 + fixed-upstream
control: tag -1 + patch
control: forwarded -1 https://github.com/openSUSE/fcoe-utils/commit/8e40a4f168436a3345697d01f163738a247d3c3f
https://github.com/openSUSE/fcoe-utils/commit/8e40a4f168436a3345697d01f163738a247d3c3f

Regards
Aurelien

#1128542#23
Date:
2026-08-10 12:44:53 UTC
From:
To:
control: severity 1127629 serious
control: severity 1128547 serious
control: severity 1128734 serious
control: severity 1128740 serious
control: severity 1128528 serious
control: severity 1128532 serious
control: severity 1128534 serious
control: severity 1128541 serious
control: severity 1128544 serious
control: severity 1128545 serious
control: severity 1128548 serious
control: severity 1128549 serious
control: severity 1128551 serious
control: severity 1128615 serious
control: severity 1128678 serious
control: severity 1128680 serious
control: severity 1128681 serious
control: severity 1128697 serious
control: severity 1128736 serious
control: severity 1128737 serious
control: severity 1128738 serious
control: severity 1128741 serious
control: severity 1128742 serious
control: severity 1128743 serious
control: severity 1128750 serious
control: severity 1128757 serious
control: severity 1128761 serious
control: severity 1128763 serious
control: severity 1128764 serious
control: severity 1128875 serious
control: severity 1128952 serious
control: severity 1128542 serious
control: severity 1128679 serious
control: severity 1128682 serious
control: severity 1128744 serious
control: severity 1128748 serious
control: severity 1128867 serious

Hi,

With the upload of glibc 2.43 to unstable, the packages now FTBFS in
unstable, hence upgrading the severity to serious.

Note that as a quick workaround, it is possible to roll back to C/C++17
standard using -std=c17, -std=gnu17, std=c++17 or std=gnu++17. This was
the default up to GCC 14, and GCC 15 changed it to C/C23.

Regards
Aurelien