Bug#1098119: xarclock: ftbfs with GCC-15
Package: src:xarclock
Version: 1.0-20
Severity: important
Tags: sid forky
User: debian-gcc@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/xarclock_1.0-20_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
[...]
ARClock.c:727:13: warning: old-style function definition [-Wold-style-definition]
727 | static void DrawHand(w, length, width, tick_units)
| ^~~~~~~~
ARClock.c:765:9: error: too many arguments to function ‘SetSeg’; expected 0, have 5
765 | SetSeg(w,
| ^~~~~~ ~
ARClock.c:77:52: note: declared here
77 | static void clock_tic(), DrawHand(), DrawSecond(), SetSeg(), DrawClockFace();
| ^~~~~~
ARClock.c:771:9: error: too many arguments to function ‘SetSeg’; expected 0, have 5
771 | SetSeg(w, x1, y1,
| ^~~~~~ ~
ARClock.c:77:52: note: declared here
77 | static void clock_tic(), DrawHand(), DrawSecond(), SetSeg(), DrawClockFace();
| ^~~~~~
ARClock.c:775:9: error: too many arguments to function ‘SetSeg’; expected 0, have 5
775 | SetSeg(w, x2, y2, x, y); /* 3 ----- 1(4) */
| ^~~~~~ ~
ARClock.c:77:52: note: declared here
77 | static void clock_tic(), DrawHand(), DrawSecond(), SetSeg(), DrawClockFace();
| ^~~~~~
ARClock.c: In function ‘DrawSecond’:
ARClock.c:788:13: warning: old-style function definition [-Wold-style-definition]
788 | static void DrawSecond(w, length, width, offset, tick_units)
| ^~~~~~~~~~
ARClock.c:842:9: error: too many arguments to function ‘SetSeg’; expected 0, have 5
842 | SetSeg(w,
| ^~~~~~ ~
ARClock.c:77:52: note: declared here
77 | static void clock_tic(), DrawHand(), DrawSecond(), SetSeg(), DrawClockFace();
| ^~~~~~
ARClock.c:847:9: error: too many arguments to function ‘SetSeg’; expected 0, have 5
847 | SetSeg(w, w->clock.centerX + iround(offset *sinangle),
| ^~~~~~ ~
ARClock.c:77:52: note: declared here
77 | static void clock_tic(), DrawHand(), DrawSecond(), SetSeg(), DrawClockFace();
| ^~~~~~
ARClock.c: In function ‘SetSeg’:
ARClock.c:856:13: warning: old-style function definition [-Wold-style-definition]
856 | static void SetSeg(w, x1, y1, x2, y2)
| ^~~~~~
ARClock.c: In function ‘DrawClockFace’:
ARClock.c:871:13: warning: old-style function definition [-Wold-style-definition]
871 | static void DrawClockFace(w)
| ^~~~~~~~~~~~~
ARClock.c: In function ‘SetValues’:
ARClock.c:896:16: warning: old-style function definition [-Wold-style-definition]
896 | static Boolean SetValues (gcurrent, grequest, gnew, args, num_args)
| ^~~~~~~~~
ARClock.c:917:42: error: passing argument 3 of ‘XtAppAddTimeOut’ from incompatible pointer type [-Wincompatible-pointer-types]
917 | clock_tic, (XtPointer)gnew);
| ^~~~~~~~~
| |
| void (*)(void)
/usr/include/X11/Intrinsic.h:990:5: note: expected ‘XtTimerCallbackProc’ {aka ‘void (*)(void *, long unsigned int *)’} but argument is of type ‘void (*)(void)’
990 | XtTimerCallbackProc /* proc */,
| ^~~~~~~~~~~~~~~~~~~
ARClock.c:358:13: note: ‘clock_tic’ declared here
358 | static void clock_tic(client_data, id)
| ^~~~~~~~~
/usr/include/X11/Intrinsic.h:309:16: note: ‘XtTimerCallbackProc’ declared here
309 | typedef void (*XtTimerCallbackProc)(
| ^~~~~~~~~~~~~~~~~~~
make[2]: *** [<builtin>: ARClock.o] Error 1
make[2]: Leaving directory '/build/reproducible-path/xarclock-1.0'
dh_auto_build: error: make -j8 "INSTALL=install --strip-program=true" "CFLAGS=-g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/xarclock-1.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection" returned exit code 2
make[1]: *** [debian/rules:10: override_dh_auto_build] Error 25
make[1]: Leaving directory '/build/reproducible-path/xarclock-1.0'
make: *** [debian/rules:6: binary] Error 2
dpkg-buildpackage: error: debian/rules binary subprocess returned exit status 2
Reply to: