Bug#734782: ctfutils: FTBFS w/32-bit off_t
On 09/01/2014 20:00, Aaron M. Ucko wrote:
> Source: ctfutils
> Version: 9.2-4
> Severity: important
>
> ctfutils fails to build on platforms in which off_t is a 32-bit type
> by default, including in particular all 32-bit Linux platforms:
>
> In file included from /usr/include/bsd/stdio.h:30:0,
> from /usr/include/freebsd/stdio.h:6,
> from /«PKGBUILDDIR»/cddl/lib/libctf/../../../cddl/compat/opensolaris/include/stdio.h:30,
> from /«PKGBUILDDIR»/cddl/contrib/opensolaris/common/ctf/ctf_impl.h:55,
> from /«PKGBUILDDIR»/cddl/lib/libctf/../../../cddl/contrib/opensolaris/lib/libctf/common/ctf_lib.c:33:
> /usr/include/unistd.h:345:18: error: conflicting types for 'lseek'
> extern __off64_t lseek64 (int __fd, __off64_t __offset, int __whence)
> ^
> In file included from /usr/include/freebsd/unistd.h:1:0,
> from /«PKGBUILDDIR»/cddl/lib/libctf/../../../cddl/compat/opensolaris/include/unistd.h:33,
> from /«PKGBUILDDIR»/cddl/lib/libctf/../../../cddl/contrib/opensolaris/lib/libctf/common/ctf_lib.c:34:
> /usr/include/unistd.h:334:16: note: previous declaration of 'lseek' was here
> extern __off_t lseek (int __fd, __off_t __offset, int __whence) __THROW;
> ^
>
> Please try explicitly enabling large file support by building with
> -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 .
Have you tested this? I suspect -D_LARGEFILE64_SOURCE may introduce new
collisions given how opensolaris compat layer plays with foo64() function
names.
The other two macros are fine, I think.
Thanks
--
Robert Millan
Reply to: