Package: src:gpm; Maintainer for src:gpm is Axel Beckert <[email protected]>;
Reported by: Matthias Klose <[email protected]>
Date: Mon, 17 Feb 2025 17:18:56 UTC
Severity: important
Tags: forky, patch, sid
Found in version gpm/1.20.7-11
Forwarded to https://github.com/telmich/gpm/pull/49
Reply or subscribe to this bug.
View this report as an mbox folder, status mbox, maintainer mbox
Report forwarded
to Axel Beckert <[email protected]>
:
Bug#1096759
; Package src:gpm
.
(Mon, 17 Feb 2025 17:18:56 GMT) (full text, mbox, link).
Acknowledgement sent
to Matthias Klose <[email protected]>
:
New Bug report received and forwarded. Copy sent to Axel Beckert <[email protected]>
.
(Mon, 17 Feb 2025 17:18:57 GMT) (full text, mbox, link).
Message #5 received at [email protected] (full text, mbox, reply):
Package: src:gpm Version: 1.20.7-11 Severity: important Tags: sid forky User: [email protected] 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/gpm_1.20.7-11_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 [...] gcc -Wdate-time -D_FORTIFY_SOURCE=2 -I/build/reproducible-path/gpm-1.20.7/src -DHAVE_CONFIG_H -include headers/config.h -Wall -DSYSCONFDIR="\"/etc\"" -DSBINDIR="\"/usr/sbin\"" -D_GNU_SOURCE -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/gpm-1.20.7=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/gpm-1.20.7=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -c -o report.o report.c gcc -Wdate-time -D_FORTIFY_SOURCE=2 -I/build/reproducible-path/gpm-1.20.7/src -DHAVE_CONFIG_H -include headers/config.h -Wall -DSYSCONFDIR="\"/etc\"" -DSBINDIR="\"/usr/sbin\"" -D_GNU_SOURCE -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/gpm-1.20.7=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/gpm-1.20.7=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -c -o tools.o tools.c daemon/check_uniqueness.c: In function ‘check_uniqueness’: daemon/check_uniqueness.c:38:7: warning: ignoring return value of ‘fscanf’ declared with attribute ‘warn_unused_result’ [-Wunused-result] 38 | fscanf(fp, "%d", &old_pid); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ gcc -Wdate-time -D_FORTIFY_SOURCE=2 -I/build/reproducible-path/gpm-1.20.7/src -DHAVE_CONFIG_H -include headers/config.h -Wall -DSYSCONFDIR="\"/etc\"" -DSBINDIR="\"/usr/sbin\"" -D_GNU_SOURCE -Wdate-time -D_FORTIFY_SOURCE=2 -DPIC -fPIC -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/gpm-1.20.7=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/gpm-1.20.7=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -c -o lib/liblow.lo lib/liblow.c daemon/startup.c: In function ‘startup’: daemon/startup.c:38:14: warning: unused variable ‘opt’ [-Wunused-variable] 38 | int i, j, opt; | ^~~ gcc -Wdate-time -D_FORTIFY_SOURCE=2 -I/build/reproducible-path/gpm-1.20.7/src -DHAVE_CONFIG_H -include headers/config.h -Wall -DSYSCONFDIR="\"/etc\"" -DSBINDIR="\"/usr/sbin\"" -D_GNU_SOURCE -Wdate-time -D_FORTIFY_SOURCE=2 -DPIC -fPIC -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/gpm-1.20.7=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/gpm-1.20.7=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -c -o lib/libhigh.lo lib/libhigh.c gcc -Wdate-time -D_FORTIFY_SOURCE=2 -I/build/reproducible-path/gpm-1.20.7/src -DHAVE_CONFIG_H -include headers/config.h -Wall -DSYSCONFDIR="\"/etc\"" -DSBINDIR="\"/usr/sbin\"" -D_GNU_SOURCE -Wdate-time -D_FORTIFY_SOURCE=2 -DPIC -fPIC -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/gpm-1.20.7=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/gpm-1.20.7=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -c -o lib/libxtra.lo lib/libxtra.c lib/libxtra.c: In function ‘Gpm_GetServerVersion’: lib/libxtra.c:64:7: warning: ignoring return value of ‘fgets’ declared with attribute ‘warn_unused_result’ [-Wunused-result] 64 | fgets(line, 128, f); | ^~~~~~~~~~~~~~~~~~~ lib/libxtra.c: In function ‘Gpm_GetSnapshot’: lib/libxtra.c:126:4: warning: ignoring return value of ‘write’ declared with attribute ‘warn_unused_result’ [-Wunused-result] 126 | write(gpm_fd, &conn, sizeof(Gpm_Connect)); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ gcc -Wdate-time -D_FORTIFY_SOURCE=2 -I/build/reproducible-path/gpm-1.20.7/src -DHAVE_CONFIG_H -include headers/config.h -Wall -DSYSCONFDIR="\"/etc\"" -DSBINDIR="\"/usr/sbin\"" -D_GNU_SOURCE -Wdate-time -D_FORTIFY_SOURCE=2 -DPIC -fPIC -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/gpm-1.20.7=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/gpm-1.20.7=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -c -o lib/report-lib.lo lib/report-lib.c gcc -Wdate-time -D_FORTIFY_SOURCE=2 -I/build/reproducible-path/gpm-1.20.7/src -DHAVE_CONFIG_H -include headers/config.h -Wall -DSYSCONFDIR="\"/etc\"" -DSBINDIR="\"/usr/sbin\"" -D_GNU_SOURCE -Wdate-time -D_FORTIFY_SOURCE=2 -DPIC -fPIC -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/gpm-1.20.7=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/gpm-1.20.7=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -c -o tools.lo tools.c gcc -Wdate-time -D_FORTIFY_SOURCE=2 -I/build/reproducible-path/gpm-1.20.7/src -DHAVE_CONFIG_H -include headers/config.h -Wall -DSYSCONFDIR="\"/etc\"" -DSBINDIR="\"/usr/sbin\"" -D_GNU_SOURCE -Wdate-time -D_FORTIFY_SOURCE=2 -DPIC -fPIC -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/gpm-1.20.7=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/gpm-1.20.7=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -c -o lib/libcurses.lo lib/libcurses.c lib/report-lib.c: In function ‘gpm_report’: lib/report-lib.c:50:23: warning: ‘%s’ directive argument is null [-Wformat-overflow=] 50 | syslog(log_level, "%s", string); | ^~ In file included from /usr/include/x86_64-linux-gnu/sys/syslog.h:207, from /usr/include/syslog.h:1, from /build/reproducible-path/gpm-1.20.7/src/headers/message.h:235, from lib/report-lib.c:25: In function ‘syslog’, inlined from ‘gpm_report’ at lib/report-lib.c:50:4: /usr/include/x86_64-linux-gnu/bits/syslog.h:37:3: warning: ‘log_level’ may be used uninitialized [-Wmaybe-uninitialized] 37 | __syslog_chk (__pri, __USE_FORTIFY_LEVEL - 1, __fmt, __va_arg_pack ()); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ lib/report-lib.c: In function ‘gpm_report’: lib/report-lib.c:30:8: note: ‘log_level’ was declared here 30 | int log_level; | ^~~~~~~~~ gcc -Wdate-time -D_FORTIFY_SOURCE=2 -I/build/reproducible-path/gpm-1.20.7/src -DHAVE_CONFIG_H -include headers/config.h -Wall -DSYSCONFDIR="\"/etc\"" -DSBINDIR="\"/usr/sbin\"" -D_GNU_SOURCE -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/gpm-1.20.7=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/gpm-1.20.7=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -c -o lib/liblow.o lib/liblow.c gcc -Wdate-time -D_FORTIFY_SOURCE=2 -I/build/reproducible-path/gpm-1.20.7/src -DHAVE_CONFIG_H -include headers/config.h -Wall -DSYSCONFDIR="\"/etc\"" -DSBINDIR="\"/usr/sbin\"" -D_GNU_SOURCE -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/gpm-1.20.7=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/gpm-1.20.7=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -c -o lib/libhigh.o lib/libhigh.c lib/libcurses.c:52:5: error: conflicting types for ‘Gpm_Wgetch’; have ‘int(WINDOW *)’ {aka ‘int(struct _WINDOW *)’} 52 | int Gpm_Wgetch(WINDOW *win) | ^~~~~~~~~~ In file included from /build/reproducible-path/gpm-1.20.7/src/headers/gpmInt.h:28, from lib/libcurses.c:30: /build/reproducible-path/gpm-1.20.7/src/headers/gpm.h:271:12: note: previous declaration of ‘Gpm_Wgetch’ with type ‘int(void)’ 271 | extern int Gpm_Wgetch(); | ^~~~~~~~~~ lib/libcurses.c: In function ‘Gpm_Wgetch’: lib/libcurses.c:154:25: warning: pointer targets in passing argument 1 of ‘gpm_convert_event’ differ in signedness [-Wpointer-sign] 154 | gpm_convert_event(mdata,&ev); | ^~~~~ | | | unsigned char * lib/libcurses.c:104:40: note: expected ‘char *’ but argument is of type ‘unsigned char *’ 104 | extern int gpm_convert_event(char *data, Gpm_Event *event); | ~~~~~~^~~~ make[3]: *** [Makefile:71: lib/libcurses.lo] Error 1 make[3]: *** Waiting for unfinished jobs.... make[3]: Leaving directory '/build/reproducible-path/gpm-1.20.7/src' make[2]: *** [Makefile:77: do-all] Error 1 make[2]: Leaving directory '/build/reproducible-path/gpm-1.20.7' dh_auto_build: error: make -j8 returned exit code 2 make[1]: *** [debian/rules:20: override_dh_auto_build] Error 25 make[1]: Leaving directory '/build/reproducible-path/gpm-1.20.7' make: *** [debian/rules:8: binary] Error 2 dpkg-buildpackage: error: debian/rules binary subprocess returned exit status 2
Information forwarded
to [email protected], Axel Beckert <[email protected]>
:
Bug#1096759
; Package src:gpm
.
(Fri, 21 Feb 2025 20:51:04 GMT) (full text, mbox, link).
Acknowledgement sent
to Helmut Grohne <[email protected]>
:
Extra info received and forwarded to list. Copy sent to Axel Beckert <[email protected]>
.
(Fri, 21 Feb 2025 20:51:04 GMT) (full text, mbox, link).
Message #10 received at [email protected] (full text, mbox, reply):
[Message part 1 (text/plain, inline)]
Control: forwarded -1 https://github.com/telmich/gpm/pull/49 Control: tags -1 + patch Hi Samuel, On Mon, Feb 17, 2025 at 05:17:27PM +0000, Matthias Klose wrote: > lib/libcurses.c:52:5: error: conflicting types for ‘Gpm_Wgetch’; have ‘int(WINDOW *)’ {aka ‘int(struct _WINDOW *)’} > 52 | int Gpm_Wgetch(WINDOW *win) > | ^~~~~~~~~~ > In file included from /build/reproducible-path/gpm-1.20.7/src/headers/gpmInt.h:28, > from lib/libcurses.c:30: > /build/reproducible-path/gpm-1.20.7/src/headers/gpm.h:271:12: note: previous declaration of ‘Gpm_Wgetch’ with type ‘int(void)’ > 271 | extern int Gpm_Wgetch(); > | ^~~~~~~~~~ This is a really tricky one. src/headers/gpm.h wants to declare int Gpm_Wgetch(WINDOW*); without #including <curses.h>. Until C23, its workaround is declaring int Gpm_Wgetch(); but that is now treated as a function taking no arguments and it does not work. There is work upstream trying to fix this, but the proposed MR makes gpm depend on ncurses and that means we'll get into a bootstrapping loop. Do you build gpm before curses or curses before gpm? The MR also fixes a problem with shadowing and another unspecified argument list. In the latter case a forward declaration can be used. So in this case, I don't see many options but to turn it into int Gpm_Wgetch(void*); which should keep existing code compiling (except when it passes multiple arguments or non-pointer arguments). The attached patch makes it build. It's not great. Helmut
[gpm_1.20.7-11.1.debdiff (text/plain, attachment)]
Set Bug forwarded-to-address to 'https://github.com/telmich/gpm/pull/49'.
Request was from Helmut Grohne <[email protected]>
to [email protected]
.
(Fri, 21 Feb 2025 20:51:04 GMT) (full text, mbox, link).
Added tag(s) patch.
Request was from Helmut Grohne <[email protected]>
to [email protected]
.
(Fri, 21 Feb 2025 20:51:04 GMT) (full text, mbox, link).
Send a report that this bug log contains spam.
Debbugs is free software and licensed under the terms of the GNU General Public License version 2. The current version can be obtained from https://bugs.debian.org/debbugs-source/.
Copyright © 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson, 2005-2017 Don Armstrong, and many other contributors.