Hi Helge,
Am 10.02.23 um 17:24 schrieb Helge Deller:
On 32-bit platforms it's necessary to compile programs and libraries
with Large File Support (LFS) in order to allow them to function
correctly on
filesystems with > 2GB or 4GB size.
This can be solved by adding "-D_LARGEFILE_SOURCE
-D_FILE_OFFSET_BITS=64" to
the CFLAGS variable when compiling.
apr is currently missing this LFS support and as such it triggers
build-from-source errors in other packages like "subversion" or
"devscripts"
on such 32-bit platforms.
apr sets -D_LARGEFILE_SOURCE but not -D_FILE_OFFSET_BITS=64 .
Unfortunately, it exposes those flags to programs built with apr via
apr-1-config and apr-1.pc . And, AFAICS, ino_t and with it apr_ino_t
would change size if -D_FILE_OFFSET_BITS=64 was added. So this would be
an ABI break and require a soname bump and a library transition. As we
are in transition freeze already, I think this has to wait until after
bookworm release.
Or am I missing something here?
From reading the source, it seems apr uses readdir internally. Maybe
some problems could also be solved if it used readdir64 and only failed
if the inode number was requested. Not sure if readdir is the only
problem, though.
Cheers,
Stefan