On Fri, Jun 30, 2023, at 16:44, Zhangjin Wu wrote:
_GNU_SOURCE Implies _LARGEFILE64_SOURCE in glibc, but in musl, the default configuration doesn't enable _LARGEFILE64_SOURCE.
From include/dirent.h of musl, getdents64 is provided as getdents when _LARGEFILE64_SOURCE is defined.
#if defined(_LARGEFILE64_SOURCE) ... #define getdents64 getdents #endif
Let's define _LARGEFILE64_SOURCE to fix up this compile error:
I think a better solution would be to use the normal getdents() instead of glibc getdents64(), but then define _FILE_OFFSET_BITS=64 to tell glibc to use the modern version of all filesystem syscalls.
Arnd