Source: adjtimex
Version: 1.29-11.1
Severity: serious
Justification: FTBFS
Tags: trixie sid ftbfs
User: lu...@debian.org
Usertags: ftbfs-20241223 ftbfs-trixie

Hi,

During a rebuild of all packages in sid, this package failed to build
on armhf.

This package currently has binary packages on armhf, so this is a regression.
Also, there are no known issues on amd64 or arm64 according to recent (a couple
days ago) rebuilds.

The rebuild was done using an armhf chroot on an AWS "m6g" instance (Graviton2
CPU).

Relevant part (hopefully):
> gcc -g -O2 -Werror=implicit-function-declaration 
> -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong 
> -fstack-clash-protection -Wformat -Werror=format-security -g -O2 
> -Werror=implicit-function-declaration -ffile-prefix-map=/<<PKGBUILDDIR>>=. 
> -fstack-protector-strong -fstack-clash-protection -Wformat 
> -Werror=format-security -Wall -I. -DVERSION=\"1.29\" -o adjtimex  \
>        adjtimex.c mat.o -lm -Wl,-z,relro -Wl,-z,now -D_LARGEFILE_SOURCE 
> -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2
> adjtimex.c: In function ‘main’:
> adjtimex.c:492:16: warning: format ‘%ld’ expects argument of type ‘long int’, 
> but argument 3 has type ‘long long int’ [-Wformat=]
>   492 |         printf("         mode: %d\n"
>       |                ^~~~~~~~~~~~~~~~~~~~~
> ......
>   504 |                txc.offset,
>       |                ~~~~~~~~~~
>       |                   |
>       |                   long long int
> adjtimex.c:493:34: note: format string is defined here
>   493 |                "       offset: %ld\n"
>       |                                ~~^
>       |                                  |
>       |                                  long int
>       |                                %lld
> adjtimex.c:492:16: warning: format ‘%ld’ expects argument of type ‘long int’, 
> but argument 4 has type ‘long long int’ [-Wformat=]
>   492 |         printf("         mode: %d\n"
>       |                ^~~~~~~~~~~~~~~~~~~~~
> ......
>   505 |                txc.freq,
>       |                ~~~~~~~~
>       |                   |
>       |                   long long int
> adjtimex.c:494:34: note: format string is defined here
>   494 |                "    frequency: %ld\n"
>       |                                ~~^
>       |                                  |
>       |                                  long int
>       |                                %lld
> adjtimex.c:492:16: warning: format ‘%ld’ expects argument of type ‘long int’, 
> but argument 5 has type ‘long long int’ [-Wformat=]
>   492 |         printf("         mode: %d\n"
>       |                ^~~~~~~~~~~~~~~~~~~~~
> ......
>   506 |                txc.maxerror,
>       |                ~~~~~~~~~~~~
>       |                   |
>       |                   long long int
> adjtimex.c:495:34: note: format string is defined here
>   495 |                "     maxerror: %ld\n"
>       |                                ~~^
>       |                                  |
>       |                                  long int
>       |                                %lld
> adjtimex.c:492:16: warning: format ‘%ld’ expects argument of type ‘long int’, 
> but argument 6 has type ‘long long int’ [-Wformat=]
>   492 |         printf("         mode: %d\n"
>       |                ^~~~~~~~~~~~~~~~~~~~~
> ......
>   507 |                txc.esterror,
>       |                ~~~~~~~~~~~~
>       |                   |
>       |                   long long int
> adjtimex.c:496:34: note: format string is defined here
>   496 |                "     esterror: %ld\n"
>       |                                ~~^
>       |                                  |
>       |                                  long int
>       |                                %lld
> adjtimex.c:492:16: warning: format ‘%ld’ expects argument of type ‘long int’, 
> but argument 8 has type ‘long long int’ [-Wformat=]
>   492 |         printf("         mode: %d\n"
>       |                ^~~~~~~~~~~~~~~~~~~~~
> ......
>   509 |                txc.constant,
>       |                ~~~~~~~~~~~~
>       |                   |
>       |                   long long int
> adjtimex.c:498:34: note: format string is defined here
>   498 |                "time_constant: %ld\n"
>       |                                ~~^
>       |                                  |
>       |                                  long int
>       |                                %lld
> adjtimex.c:492:16: warning: format ‘%ld’ expects argument of type ‘long int’, 
> but argument 9 has type ‘long long int’ [-Wformat=]
>   492 |         printf("         mode: %d\n"
>       |                ^~~~~~~~~~~~~~~~~~~~~
> ......
>   510 |                txc.precision,
>       |                ~~~~~~~~~~~~~
>       |                   |
>       |                   long long int
> adjtimex.c:499:34: note: format string is defined here
>   499 |                "    precision: %ld\n"
>       |                                ~~^
>       |                                  |
>       |                                  long int
>       |                                %lld
> adjtimex.c:492:16: warning: format ‘%ld’ expects argument of type ‘long int’, 
> but argument 10 has type ‘long long int’ [-Wformat=]
>   492 |         printf("         mode: %d\n"
>       |                ^~~~~~~~~~~~~~~~~~~~~
> ......
>   511 |                txc.tolerance,
>       |                ~~~~~~~~~~~~~
>       |                   |
>       |                   long long int
> adjtimex.c:500:34: note: format string is defined here
>   500 |                "    tolerance: %ld\n"
>       |                                ~~^
>       |                                  |
>       |                                  long int
>       |                                %lld
> adjtimex.c:492:16: warning: format ‘%ld’ expects argument of type ‘long int’, 
> but argument 11 has type ‘long long int’ [-Wformat=]
>   492 |         printf("         mode: %d\n"
>       |                ^~~~~~~~~~~~~~~~~~~~~
> ......
>   512 |                txc.tick,
>       |                ~~~~~~~~
>       |                   |
>       |                   long long int
> adjtimex.c:501:34: note: format string is defined here
>   501 |                "         tick: %ld\n"
>       |                                ~~^
>       |                                  |
>       |                                  long int
>       |                                %lld
> adjtimex.c: In function ‘cmos_read_time’:
> adjtimex.c:926:36: warning: format ‘%ld’ expects argument of type ‘long int’, 
> but argument 4 has type ‘time_t’ {aka ‘long long int’} [-Wformat=]
>   926 |     printf ("CMOS time %s (%s) = %ld\n", asctime (&tm),
>       |                                  ~~^
>       |                                    |
>       |                                    long int
>       |                                  %lld
> ......
>   930 |             cmos_time);
>       |             ~~~~~~~~~               
>       |             |
>       |             time_t {aka long long int}
> adjtimex.c:962:40: warning: format ‘%ld’ expects argument of type ‘long int’, 
> but argument 2 has type ‘time_t’ {aka ‘long long int’} [-Wformat=]
>   962 |           printf("WARNING: CMOS time %ld differs from system time %ld 
> by %3.2f hours\n",
>       |                                      ~~^
>       |                                        |
>       |                                        long int
>       |                                      %lld
>   963 |                  cmos_time, now.tv_sec, 
> (summertime_correction)/3600.);
>       |                  ~~~~~~~~~              
>       |                  |
>       |                  time_t {aka long long int}
> adjtimex.c:962:69: warning: format ‘%ld’ expects argument of type ‘long int’, 
> but argument 3 has type ‘__time64_t’ {aka ‘long long int’} [-Wformat=]
>   962 |           printf("WARNING: CMOS time %ld differs from system time %ld 
> by %3.2f hours\n",
>       |                                                                   ~~^
>       |                                                                     |
>       |                                                                     
> long int
>       |                                                                   %lld
>   963 |                  cmos_time, now.tv_sec, 
> (summertime_correction)/3600.);
>       |                             ~~~~~~~~~~                               
>       |                                |
>       |                                __time64_t {aka long long int}
> adjtimex.c: In function ‘compare’:
> adjtimex.c:1251:26: warning: format ‘%ld’ expects argument of type ‘long 
> int’, but argument 3 has type ‘long long int’ [-Wformat=]
>  1251 |         printf ("%11s %6ld %9ld", " ", txc.tick, txc.freq);
>       |                       ~~~^             ~~~~~~~~
>       |                          |                |
>       |                          long int         long long int
>       |                       %6lld
> adjtimex.c:1251:31: warning: format ‘%ld’ expects argument of type ‘long 
> int’, but argument 4 has type ‘long long int’ [-Wformat=]
>  1251 |         printf ("%11s %6ld %9ld", " ", txc.tick, txc.freq);
>       |                            ~~~^                  ~~~~~~~~
>       |                               |                     |
>       |                               long int              long long int
>       |                            %9lld
> adjtimex.c:1258:30: warning: format ‘%ld’ expects argument of type ‘long 
> int’, but argument 3 has type ‘long long int’ [-Wformat=]
>  1258 |           printf ("%11.1f %6ld %9ld",
>       |                           ~~~^
>       |                              |
>       |                              long int
>       |                           %6lld
>  1259 |                   error_ppm,
>  1260 |                   txc.tick,
>       |                   ~~~~~~~~    
>       |                      |
>       |                      long long int
> adjtimex.c:1258:35: warning: format ‘%ld’ expects argument of type ‘long 
> int’, but argument 4 has type ‘long long int’ [-Wformat=]
>  1258 |           printf ("%11.1f %6ld %9ld",
>       |                                ~~~^
>       |                                   |
>       |                                   long int
>       |                                %9lld
> ......
>  1261 |                   txc.freq);
>       |                   ~~~~~~~~         
>       |                      |
>       |                      long long int
> adjtimex.c:1268:28: warning: format ‘%ld’ expects argument of type ‘long 
> int’, but argument 2 has type ‘long long int’ [-Wformat=]
>  1268 |               printf("  %6ld %9ld\n",
>       |                         ~~~^
>       |                            |
>       |                            long int
>       |                         %6lld
>  1269 |                      txc.tick + tick_delta, txc.freq + freq_delta);
>       |                      ~~~~~~~~~~~~~~~~~~~~~
>       |                               |
>       |                               long long int
> adjtimex.c:1268:33: warning: format ‘%ld’ expects argument of type ‘long 
> int’, but argument 3 has type ‘long long int’ [-Wformat=]
>  1268 |               printf("  %6ld %9ld\n",
>       |                              ~~~^
>       |                                 |
>       |                                 long int
>       |                              %9lld
>  1269 |                      txc.tick + tick_delta, txc.freq + freq_delta);
>       |                                             ~~~~~~~~~~~~~~~~~~~~~
>       |                                                      |
>       |                                                      long long int
> adjtimex.c: In function ‘valid_system_rate’:
> adjtimex.c:1641:24: error: passing argument 1 of ‘ctime’ from incompatible 
> pointer type [-Wincompatible-pointer-types]
>  1641 |                  ctime(&pca->ca_adj_time));
>       |                        ^~~~~~~~~~~~~~~~~
>       |                        |
>       |                        long int *
> In file included from /usr/include/features.h:510,
>                  from /usr/include/ctype.h:25,
>                  from adjtimex.c:17:
> /usr/include/time.h:186:14: note: expected ‘const time_t *’ {aka ‘const long 
> long int *’} but argument is of type ‘long int *’
>   186 | extern char *__REDIRECT_NTH (ctime, (const time_t *__timer), 
> __ctime64);
>       |              ^~~~~~~~~~~~~~
> adjtimex.c: In function ‘review’:
> adjtimex.c:2177:39: warning: format ‘%ld’ expects argument of type ‘long 
> int’, but argument 2 has type ‘long long int’ [-Wformat=]
>  2177 |     printf("        current tick = %5ld  freq = %9ld\n",
>       |                                    ~~~^
>       |                                       |
>       |                                       long int
>       |                                    %5lld
>  2178 |            txc.tick, txc.freq );
>       |            ~~~~~~~~                    
>       |               |
>       |               long long int
> adjtimex.c:2177:52: warning: format ‘%ld’ expects argument of type ‘long 
> int’, but argument 3 has type ‘long long int’ [-Wformat=]
>  2177 |     printf("        current tick = %5ld  freq = %9ld\n",
>       |                                                 ~~~^
>       |                                                    |
>       |                                                    long int
>       |                                                 %9lld
>  2178 |            txc.tick, txc.freq );
>       |                      ~~~~~~~~                       
>       |                         |
>       |                         long long int
> adjtimex.c:2211:29: warning: format ‘%ld’ expects argument of type ‘long 
> int’, but argument 2 has type ‘long long int’ [-Wformat=]
>  2211 |       printf("new tick = %5ld  freq = %7ld\n", txc.tick, txc.freq );
>       |                          ~~~^                  ~~~~~~~~
>       |                             |                     |
>       |                             long int              long long int
>       |                          %5lld
> adjtimex.c:2211:42: warning: format ‘%ld’ expects argument of type ‘long 
> int’, but argument 3 has type ‘long long int’ [-Wformat=]
>  2211 |       printf("new tick = %5ld  freq = %7ld\n", txc.tick, txc.freq );
>       |                                       ~~~^               ~~~~~~~~
>       |                                          |                  |
>       |                                          long int           long long 
> int
>       |                                       %7lld
> make[1]: *** [Makefile:39: adjtimex] Error 1


The full build log is available from:
http://qa-logs.debian.net/2024/12/23/adjtimex_1.29-11.1_unstable-armhf.log

All bugs filed during this archive rebuild are listed at:
https://bugs.debian.org/cgi-bin/pkgreport.cgi?tag=ftbfs-20241223;users=lu...@debian.org
or:
https://udd.debian.org/bugs/?release=na&merged=ign&fnewerval=7&flastmodval=7&fusertag=only&fusertagtag=ftbfs-20241223&fusertaguser=lu...@debian.org&allbugs=1&cseverity=1&ctags=1&caffected=1#results

A list of current common problems and possible solutions is available at
http://wiki.debian.org/qa.debian.org/FTBFS . You're welcome to contribute!

If you reassign this bug to another package, please mark it as 'affects'-ing
this package. See https://www.debian.org/Bugs/server-control#affects

If you fail to reproduce this, please provide a build log and diff it with mine
so that we can identify if something relevant changed in the meantime.

Reply via email to