El 20/04/12 04:09, Peter Lindgren escribió:
Hi,

when cross compiling systemd-44 for my arm target I run into compile
problem in src/util.c

src/util.c: In function 'parse_bytes':
src/util.c:3158:17: error: overflow in implicit constant conversion
[-Werror=overflow]
src/util.c:3159:17: error: overflow in implicit constant conversion
[-Werror=overflow]
src/util.c:3160:17: error: overflow in implicit constant conversion
[-Werror=overflow]
src/util.c: In function 'format_bytes':
src/util.c:6179:17: error: overflow in implicit constant conversion
[-Werror=overflow]
src/util.c:6180:17: error: overflow in implicit constant conversion
[-Werror=overflow]
src/util.c:6181:17: error: overflow in implicit constant conversion
[-Werror=overflow]

This code requires that off_t is defined as an 64bit off_t (off64_t)
using  -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64.

Just removing these lines also shows that there is code in
src/conf-parser.c that assert sizeof(off_t) == sizeof(uint64_t).
src/conf-parser.c: In function 'config_parse_bytes_off':
src/conf-parser.c:508:9: error: duplicate case value

Does systemd really require LFS support => off_t to be defined as off64_t?

Or could this code just modified to remove the assert_cc and modify the
parse_bytes function to use an uint64_t instead off off64_t?


How did you got there in the first place ? did you built with --disable-largefile ? if so why ?

If not, does adding AC_FUNC_FSEEKO after AC_SYS_LARGEFILE in configure.ac and rebuilding it running ./autogen.sh helps ?

_______________________________________________
systemd-devel mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/systemd-devel

Reply via email to