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