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

Reply via email to