Source: dclock
Version: 2.2.2-14
Tags: ftbfs
Justification: armhf ftbfs
dclock fails to build from source in unstable on 32bit time64
architectures such as armel and armhf. An armhf build ends as follows:
| debian/rules override_dh_auto_build
| make[1]: Entering directory '/<<PKGBUILDDIR>>'
| xmkmf
| imake -DUseInstalled -I/usr/lib/X11/config
| dh_auto_build -- CPPFLAGS="-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64
-D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2" CFLAGS="-g -O2
-Werror=implicit-function-declaration -ffile-prefix-map=/<<PKGBUILDDIR>>=.
-fstack-protector-strong -fstack-clash-protection -Wformat
-Werror=format-security" \
| CXXFLAGS="-g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=.
-fstack-protector-strong -fstack-clash-protection -Wformat
-Werror=format-security" LDFLAGS="-Wl,-z,relro -Wl,-z,now"
| make -j4 "INSTALL=install --strip-program=true"
"CPPFLAGS=-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64
-Wdate-time -D_FORTIFY_SOURCE=2" "CFLAGS=-g -O2
-Werror=implicit-function-declaration -ffile-prefix-map=/<<PKGBUILDDIR>>=.
-fstack-protector-strong -fstack-clash-protection -Wformat
-Werror=format-security" "CXXFLAGS=-g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=.
-fstack-protector-strong -fstack-clash-protection -Wformat
-Werror=format-security" "LDFLAGS=-Wl,-z,relro -Wl,-z,now"
| make[2]: Entering directory '/<<PKGBUILDDIR>>'
| gcc -g -O2 -Werror=implicit-function-declaration
-ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong
-fstack-clash-protection -Wformat -Werror=format-security -D_LARGEFILE_SOURCE
-D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -c -o
Dclock.o Dclock.c
| gcc -g -O2 -Werror=implicit-function-declaration
-ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong
-fstack-clash-protection -Wformat -Werror=format-security -D_LARGEFILE_SOURCE
-D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -c -o
dclock.o dclock.c
| Dclock.c: In function ‘show_time’:
| Dclock.c:1438:44: error: passing argument 1 of ‘localtime’ from incompatible
pointer type [-Wincompatible-pointer-types]
| 1438 | register struct tm *l_time = localtime(&t);
| | ^~
| | |
| | long int *
| In file included from /usr/include/features.h:510,
| from
/usr/include/arm-linux-gnueabihf/bits/libc-header-start.h:33,
| from /usr/include/stdio.h:28,
| from Dclock.c:7:
| /usr/include/time.h:141:19: note: expected ‘const time_t *’ {aka ‘const long
long int *’} but argument is of type ‘long int *’
| 141 | extern struct tm *__REDIRECT_NTH (localtime, (const time_t *__timer),
| | ^~~~~~~~~~~~~~
| Dclock.c:1447:25: error: passing argument 1 of ‘gmtime’ from incompatible
pointer type [-Wincompatible-pointer-types]
| 1447 | l_time = gmtime(&t);
| | ^~
| | |
| | long int *
| /usr/include/time.h:140:18: note: expected ‘const time_t *’ {aka ‘const long
long int *’} but argument is of type ‘long int *’
| 140 | extern struct tm*__REDIRECT_NTH (gmtime, (const time_t *__timer),
__gmtime64);
| | ^~~~~~~~~~~~~~
| Dclock.c: In function ‘scroll_time’:
| Dclock.c:1643:29: error: passing argument 1 of ‘localtime’ from incompatible
pointer type [-Wincompatible-pointer-types]
| 1643 | now = localtime(&t);
| | ^~
| | |
| | long int *
| /usr/include/time.h:141:19: note: expected ‘const time_t *’ {aka ‘const long
long int *’} but argument is of type ‘long int *’
| 141 | extern struct tm *__REDIRECT_NTH (localtime, (const time_t *__timer),
| | ^~~~~~~~~~~~~~
| make[2]: *** [<builtin>: Dclock.o] Error 1
| make[2]: Leaving directory '/<<PKGBUILDDIR>>'
| dh_auto_build: error: make -j4 "INSTALL=install --strip-program=true"
"CPPFLAGS=-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64
-Wdate-time -D_FORTIFY_SOURCE=2" "CFLAGS=-g -O2
-Werror=implicit-function-declaration -ffile-prefix-map=/<<PKGBUILDDIR>>=.
-fstack-protector-strong -fstack-clash-protection -Wformat
-Werror=format-security" "CXXFLAGS=-g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=.
-fstack-protector-strong -fstack-clash-protection -Wformat
-Werror=format-security" "LDFLAGS=-Wl,-z,relro -Wl,-z,now" returned exit code 2
| make[1]: *** [debian/rules:15: override_dh_auto_build] Error 25
| make[1]: Leaving directory '/<<PKGBUILDDIR>>'
| make: *** [debian/rules:11: binary] Error 2
| dpkg-buildpackage: error: debian/rules binary subprocess returned exit status
2
This is due to a toolchain change causing -Wincompatible-pointer-types
to become an error. The reproducible builds infrastructure does not yet
see the failure as it last rebuilt the package in May. I've first
observed this in a cross build, but it actually reproduces natively.
Helmut