Bug#1097529: osmctools: ftbfs with GCC-15
Matthias Klose
doko at debian.org
Mon Feb 17 17:41:59 GMT 2025
Package: src:osmctools
Version: 0.9-4
Severity: important
Tags: sid forky
User: debian-gcc at lists.debian.org
Usertags: ftbfs-gcc-15
[This bug is NOT targeted to the upcoming trixie release]
Please keep this issue open in the bug tracker for the package it
was filed for. If a fix in another package is required, please
file a bug for the other package (or clone), and add a block in this
package. Please keep the issue open until the package can be built in
a follow-up test rebuild.
The package fails to build in a test rebuild on at least amd64 with
gcc-15/g++-15, but succeeds to build with gcc-14/g++-14. The
severity of this report will be raised before the forky release.
The full build log can be found at:
http://qa-logs.debian.net/2025/02/16/amd64exp/osmctools_0.9-4_unstable_gccexp.log.gz
The last lines of the build log are at the end of this report.
To build with GCC 15, either set CC=gcc-15 CXX=g++-15 explicitly,
or install the gcc, g++, gfortran, ... packages from experimental.
apt-get -t=experimental install g++
GCC 15 now defaults to the C23/C++23 standards, exposing many FTBFS.
Other Common build failures are new warnings resulting in build failures
with -Werror turned on, or new/dropped symbols in Debian symbols files.
For other C/C++ related build failures see the porting guide at
http://gcc.gnu.org/gcc-15/porting_to.html
[...]
checking whether sleep supports fractional seconds... yes
checking filesystem timestamp resolution... 0.01
checking whether build environment is sane... yes
checking for a race-free mkdir -p... /usr/bin/mkdir -p
checking for gawk... no
checking for mawk... mawk
checking whether make sets $(MAKE)... yes
checking whether make supports nested variables... yes
checking xargs -n works... yes
checking for gcc... gcc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables...
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether the compiler supports GNU C... yes
checking whether gcc accepts -g... yes
checking for gcc option to enable C11 features... none needed
checking whether gcc understands -c and -o together... yes
checking whether make supports the include directive... yes (GNU style)
checking dependency style of gcc... none
checking for gzopen in -lz... yes
checking that generated files are newer than configure... done
configure: creating ./config.status
config.status: creating Makefile
config.status: creating src/Makefile
config.status: creating include/config.h
config.status: executing depfiles commands
dh_auto_build
make -j8
make[1]: Entering directory '/build/reproducible-path/osmctools-0.9'
Making all in src
make[2]: Entering directory '/build/reproducible-path/osmctools-0.9/src'
gcc -DHAVE_CONFIG_H -I. -I../include -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/osmctools-0.9=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -c -o osmconvert.o osmconvert.c
gcc -DHAVE_CONFIG_H -I. -I../include -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/osmctools-0.9=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -c -o osmfilter.o osmfilter.c
gcc -DHAVE_CONFIG_H -I. -I../include -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/osmctools-0.9=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -c -o osmupdate.o osmupdate.c
osmconvert.c:474:15: error: cannot use keyword ‘false’ as enumeration constant
474 | typedef enum {false= 0,true= 1} bool;
| ^~~~~
osmconvert.c:474:15: note: ‘false’ is a keyword with ‘-std=c23’ onwards
osmconvert.c:474:33: error: expected ‘;’, identifier or ‘(’ before ‘bool’
474 | typedef enum {false= 0,true= 1} bool;
| ^~~~
osmconvert.c:474:33: warning: useless type name in empty declaration
osmupdate.c:183:15: error: cannot use keyword ‘false’ as enumeration constant
183 | typedef enum {false= 0,true= 1} bool;
| ^~~~~
osmupdate.c:183:15: note: ‘false’ is a keyword with ‘-std=c23’ onwards
osmupdate.c:183:33: error: expected ‘;’, identifier or ‘(’ before ‘bool’
183 | typedef enum {false= 0,true= 1} bool;
| ^~~~
osmupdate.c:183:33: warning: useless type name in empty declaration
osmfilter.c:386:15: error: cannot use keyword ‘false’ as enumeration constant
386 | typedef enum {false= 0,true= 1} bool;
| ^~~~~
osmfilter.c:386:15: note: ‘false’ is a keyword with ‘-std=c23’ onwards
osmfilter.c:386:33: error: expected ‘;’, identifier or ‘(’ before ‘bool’
386 | typedef enum {false= 0,true= 1} bool;
| ^~~~
osmfilter.c:386:33: warning: useless type name in empty declaration
make[2]: *** [Makefile:378: osmupdate.o] Error 1
make[2]: *** Waiting for unfinished jobs....
make[2]: *** [Makefile:378: osmfilter.o] Error 1
make[2]: *** [Makefile:378: osmconvert.o] Error 1
make[2]: Leaving directory '/build/reproducible-path/osmctools-0.9/src'
make[1]: *** [Makefile:355: all-recursive] Error 1
make[1]: Leaving directory '/build/reproducible-path/osmctools-0.9'
dh_auto_build: error: make -j8 returned exit code 2
make: *** [debian/rules:11: binary] Error 25
dpkg-buildpackage: error: debian/rules binary subprocess returned exit status 2
More information about the Pkg-grass-devel
mailing list