Source: trickle
Version: 1.08+ds-1
Severity: serious
Tags: ftbfs
Justification: fails to build from source (but built successfully in the past)

Hi,

trickle FTBFS with 64-bit time_t on 32-bit platforms (e.g. armel, armhf,
but not i386 (keeps its 32-bit time_t):

...
gcc -DHAVE_CONFIG_H -I.   -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 
-D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -Icompat  
-I/usr/include/tirpc  -g -O2 -Werror=implicit-function-declaration 
-ffile-prefix-map=/build/trickle-1.08+ds=. -fstack-protect
or-strong -fstack-clash-protection -Wformat -Werror=format-security -c -o xdr.o 
xdr.c
xdr.c: In function 'xdr_msg_delayinfo':
xdr.c:64:26: error: passing argument 2 of 'xdr_long' from incompatible pointer 
type [-Wincompatible-pointer-types]
   64 |         X(xdr_long(xdrs, &delayinfo->delaytv.tv_sec));
      |                          ^~~~~~~~~~~~~~~~~~~~~~~~~~
      |                          |
      |                          __time64_t * {aka long long int *}
xdr.c:15:14: note: in definition of macro 'X'
   15 |         if (!x)                                 \
      |              ^
In file included from /usr/include/tirpc/rpc/rpc.h:43,
                 from xdr.c:10:
/usr/include/tirpc/rpc/xdr.h:291:33: note: expected 'long int *' but argument 
is of type '__time64_t *' {aka 'long long int *'}
  291 | extern bool_t   xdr_long(XDR *, long *);
      |                                 ^~~~~~
xdr.c:65:26: error: passing argument 2 of 'xdr_long' from incompatible pointer 
type [-Wincompatible-pointer-types]
   65 |         X(xdr_long(xdrs, &delayinfo->delaytv.tv_usec));
      |                          ^~~~~~~~~~~~~~~~~~~~~~~~~~~
      |                          |
      |                          __suseconds64_t * {aka long long int *}
xdr.c:15:14: note: in definition of macro 'X'
   15 |         if (!x)                                 \
      |              ^
/usr/include/tirpc/rpc/xdr.h:291:33: note: expected 'long int *' but argument 
is of type '__suseconds64_t *' {aka 'long long int *'}
  291 | extern bool_t   xdr_long(XDR *, long *);
      |                                 ^~~~~~
...

AFAIK there is no xdr_long_long()


Andreas

Reply via email to