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

Reply via email to