Hello Adolf, The patch looks good to me. Could you send a patch that adds the patch to the current version? -Michael > On 13 Dec 2024, at 11:19, Adolf Belka wrote: > > Looking back at my libcap-2.72 patch submission, the changelog already mentions that that version has a problem with other architectures than x86_64 but I obviously didn't understand the consequences of that statement. > > So my apologies for causing the hiccup but I will fix it with the 2.73 update. > > Regards, > > Adolf. > > > On 13/12/2024 12:14, Adolf Belka wrote: >> Hi Arne, >> >> I saw that my libcap build failed on aarch64. >> >> libcap have issued version 2.73 which has the following as one of the bug fixes for libcap-2.72 >> >> * >> >> Some architectures do not support the system call getdents(). More modern architectures only support getdents64() ,so use that. Patch provided by Xi Ruoyao. >> >> I will do a fresh patch submit for libcap-2.73 >> >> Should I do this as a patch from 2.72 or will you revert my 2.72 patch and I do a fresh patch from 2.70, the previous working version. >> >> Regards, >> Adolf. >> >> On 13/12/2024 11:48, IPFire Nightly Builder wrote: >>> https://nightly.ipfire.org/next/2024-12-13%2010%3A05%3A31%20%2B0100-c004ed47/aarch64 >>> >>> commit c004ed4755890f575729aefefad567ac033c8cb5 >>> Author: Arne Fitzenreiter >>> Date: Fri Dec 13 10:05:31 2024 +0100 >>> >>> core191: ship libxml2 >>> Signed-off-by: Arne Fitzenreiter >>> >>> https://git.ipfire.org/?p=ipfire-2.x.git;a=shortlog;h=c004ed4755890f575729aefefad567ac033c8cb5 >>> >>> Packaged toolchain compilation >>> Building IPFire >>> stage2 [ 1 ][ DONE ] >>> linux (6.6.63) HEADERS=1 [ 35 ][ DONE ] >>> man-pages (6.9.1) [ 16 ][ DONE ] >>> glibc (2.40) [ 8:06 ][ DONE ] >>> tzdata (2024a) [ 2 ][ DONE ] >>> cleanup-toolchain [ 0 ][ DONE ] >>> zlib (1.3.1) [ 1 ][ DONE ] >>> zstd (1.5.6) [ 3 ][ DONE ] >>> autoconf (2.71) [ 3 ][ DONE ] >>> autoconf-archive (2024.10.16) [ 2 ][ DONE ] >>> automake (1.17) [ 3 ][ DONE ] >>> help2man (1.49.3) [ 1 ][ DONE ] >>> libtool (2.4.7) [ 8 ][ DONE ] >>> binutils (2.43) [ 1:09 ][ DONE ] >>> gmp (6.3.0) [ 44 ][ DONE ] >>> mpfr (4.2.1) [ 25 ][ DONE ] >>> libmpc (1.3.1) [ 8 ][ DONE ] >>> libxcrypt (4.4.36) [ 17 ][ DONE ] >>> file (5.45) [ 10 ][ DONE ] >>> gcc (14.2.0) [ 7:37 ][ DONE ] >>> attr (2.5.2) [ 7 ][ DONE ] >>> acl (2.3.2) [ 11 ][ DONE ] >>> sed (4.9) [ 31 ][ DONE ] >>> berkeley (5.3.28) [ 34 ][ DONE ] >>> coreutils (9.5) [ 1:22 ][ DONE ] >>> iana-etc (20241024) [ 0 ][ DONE ] >>> m4 (1.4.19) [ 40 ][ DONE ] >>> bison (3.8.2) [ 39 ][ DONE ] >>> ncurses (6.5) [ 38 ][ DONE ] >>> perl (5.36.0) [ 2:19 ][ DONE ] >>> readline (8.2) [ 8 ][ DONE ] >>> bzip2 (1.0.8) [ 1 ][ DONE ] >>> xz (5.4.5) [ 18 ][ DONE ] >>> lzip (1.24.1) [ 0 ][ DONE ] >>> pcre (8.45) [ 11 ][ DONE ] >>> pcre2 (10.44) [ 9 ][ DONE ] >>> gettext (0.22.5) [ 3:44 ][ DONE ] >>> bash (5.2) [ 36 ][ DONE ] >>> diffutils (3.10) [ 33 ][ DONE ] >>> ed (1.20.2) [ 0 ][ DONE ] >>> findutils (4.10.0) [ 51 ][ DONE ] >>> flex (2.6.4) [ 11 ][ DONE ] >>> gawk (5.3.1) [ 19 ][ DONE ] >>> go (1.20.4) [ 23 ][ DONE ] >>> grep (3.11) [ 35 ][ DONE ] >>> groff (1.23.0) [ 43 ][ DONE ] >>> gperf (3.1) [ 4 ][ DONE ] >>> gzip (1.13) [ 21 ][ DONE ] >>> hostname (3.20) [ 1 ][ DONE ] >>> whois (5.5.23) [ 0 ][ DONE ] >>> kbd (2.6.4) [ 16 ][ DONE ] >>> less (668) [ 8 ][ DONE ] >>> pkg-config (0.29.2) [ 32 ][ DONE ] >>> procps (v4.0.4) [ 20 ][ DONE ] >>> make (4.4.1) [ 16 ][ DONE ] >>> libpipeline (1.5.8) [ 32 ][ DONE ] >>> man (2.12.0) [ 1:01 ][ DONE ] >>> net-tools (2.10) [ 3 ][ DONE ] >>> patch (2.7.6) [ 31 ][ DONE ] >>> psmisc (23.7) [ 7 ][ DONE ] >>> shadow (4.16.0) [ 17 ][ DONE ] >>> sysklogd (1.5.1) [ 1 ][ DONE ] >>> sysvinit (3.10) [ 1 ][ DONE ] >>> tar (1.35) [ 43 ][ DONE ] >>> texinfo (7.1.1) [ 39 ][ DONE ] >>> util-linux (2.40.2) [ 45 ][ DONE ] >>> vim (9.1) [ 21 ][ DONE ] >>> e2fsprogs (1.47.1) [ 20 ][ DONE ] >>> jq (1.7.1) [ 14 ][ DONE ] >>> configroot [ 1 ][ DONE ] >>> initscripts [ 1 ][ DONE ] >>> backup [ 0 ][ DONE ] >>> rust (1.67.0) [ 21 ][ DONE ] >>> openssl (3.3.2) [ 3:46 ][ DONE ] >>> popt (1.19) [ 6 ][ DONE ] >>> libedit (20240808-3.1) [ 9 ][ DONE ] >>> pam (1.6.1) [ 40 ][ DONE ] >>> libcap (2.72) [ 2 ][ FAIL ] >>> >>> gcc -O2 -g0 -pipe -Wall -fexceptions -fPIC -Wp,-U_FORTIFY_SOURCE -Wp,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -fstack-protector-strong -fstack-clash-protection -mbranch-protection=standard -Wall -Wwrite-strings -Wpointer-arith -Wcast-qual -Wcast-align -Wstrict-prototypes -Wmissing-prototypes -Wnested-externs -Winline -Wshadow -Wunreachable-code -Wall -Wwrite-strings -Wpointer-arith -Wcast-qual -Wcast-align -Wstrict-prototypes -Wmissing-prototypes -Wnested-externs -Winline -Wshadow -Wunreachable-code -fPIC -D_LIBPSX_PTHREAD_LINKAGE -Dlinux -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -I/usr/src/libcap-2.72/libcap/../libcap/include/uapi -I/usr/src/libcap-2.72/libcap/../libcap/include -c cap_file.c -o cap_file.o >>> gcc -O2 -g0 -pipe -Wall -fexceptions -fPIC -Wp,-U_FORTIFY_SOURCE -Wp,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -fstack-protector-strong -fstack-clash-protection -mbranch-protection=standard -Wall -Wwrite-strings -Wpointer-arith -Wcast-qual -Wcast-align -Wstrict-prototypes -Wmissing-prototypes -Wnested-externs -Winline -Wshadow -Wunreachable-code -Wall -Wwrite-strings -Wpointer-arith -Wcast-qual -Wcast-align -Wstrict-prototypes -Wmissing-prototypes -Wnested-externs -Winline -Wshadow -Wunreachable-code -fPIC -D_LIBPSX_PTHREAD_LINKAGE -Dlinux -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -I/usr/src/libcap-2.72/libcap/../libcap/include/uapi -I/usr/src/libcap-2.72/libcap/../libcap/include -c cap_syscalls.c -o cap_syscalls.o >>> ar rcs libcap.a cap_alloc.o cap_proc.o cap_extint.o cap_flag.o cap_text.o cap_file.o cap_syscalls.o >>> ranlib libcap.a >>> make libcap.so >>> make[3]: Entering directory '/usr/src/libcap-2.72/libcap' >>> gcc -O2 -g0 -pipe -Wall -fexceptions -fPIC -Wp,-U_FORTIFY_SOURCE -Wp,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -fstack-protector-strong -fstack-clash-protection -mbranch-protection=standard -Wall -Wwrite-strings -Wpointer-arith -Wcast-qual -Wcast-align -Wstrict-prototypes -Wmissing-prototypes -Wnested-externs -Winline -Wshadow -Wunreachable-code -Wall -Wwrite-strings -Wpointer-arith -Wcast-qual -Wcast-align -Wstrict-prototypes -Wmissing-prototypes -Wnested-externs -Winline -Wshadow -Wunreachable-code -fPIC -D_LIBPSX_PTHREAD_LINKAGE -Wall -Wwrite-strings -Wpointer-arith -Wcast-qual -Wcast-align -Wstrict-prototypes -Wmissing-prototypes -Wnested-externs -Winline -Wshadow -Wunreachable-code -fPIC -D_LIBPSX_PTHREAD_LINKAGE -Dlinux -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -I/usr/src/libcap-2.72/libcap/../libcap/include/uapi -I/usr/src/libcap-2.72/libcap/../libcap/include empty.c -o empty >>> objcopy --dump-section .interp=loader.txt empty /dev/null >>> gcc -O2 -g0 -pipe -Wall -fexceptions -fPIC -Wp,-U_FORTIFY_SOURCE -Wp,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -fstack-protector-strong -fstack-clash-protection -mbranch-protection=standard -Wall -Wwrite-strings -Wpointer-arith -Wcast-qual -Wcast-align -Wstrict-prototypes -Wmissing-prototypes -Wnested-externs -Winline -Wshadow -Wunreachable-code -Wall -Wwrite-strings -Wpointer-arith -Wcast-qual -Wcast-align -Wstrict-prototypes -Wmissing-prototypes -Wnested-externs -Winline -Wshadow -Wunreachable-code -fPIC -D_LIBPSX_PTHREAD_LINKAGE -Wall -Wwrite-strings -Wpointer-arith -Wcast-qual -Wcast-align -Wstrict-prototypes -Wmissing-prototypes -Wnested-externs -Winline -Wshadow -Wunreachable-code -fPIC -D_LIBPSX_PTHREAD_LINKAGE -Dlinux -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -I/usr/src/libcap-2.72/libcap/../libcap/include/uapi -I/usr/src/libcap-2.72/libcap/../libcap/include -DLIBRARY_VERSION=\"libcap-2.72\" -DSHARED_LOADER=\"/lib/ld-linux-aarch64.so.1\" -include ./libcap.h -c exec >>> able.c -o cap_magic.o >>> gcc -Wl,-x -shared -Wl,-shared -O2 -g0 -pipe -Wall -fexceptions -fPIC -Wp,-U_FORTIFY_SOURCE -Wp,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -fstack-protector-strong -fstack-clash-protection -mbranch-protection=standard -Wall -Wwrite-strings -Wpointer-arith -Wcast-qual -Wcast-align -Wstrict-prototypes -Wmissing-prototypes -Wnested-externs -Winline -Wshadow -Wunreachable-code -Wall -Wwrite-strings -Wpointer-arith -Wcast-qual -Wcast-align -Wstrict-prototypes -Wmissing-prototypes -Wnested-externs -Winline -Wshadow -Wunreachable-code -fPIC -D_LIBPSX_PTHREAD_LINKAGE -Wall -Wwrite-strings -Wpointer-arith -Wcast-qual -Wcast-align -Wstrict-prototypes -Wmissing-prototypes -Wnested-externs -Winline -Wshadow -Wunreachable-code -fPIC -D_LIBPSX_PTHREAD_LINKAGE -Wl,-soname,libcap.so.2 -o libcap.so.2.72 cap_alloc.o cap_proc.o cap_extint.o cap_flag.o cap_text.o cap_file.o cap_syscalls.o cap_magic.o -Wl,-e,__so_start >>> ln -sf libcap.so.2.72 libcap.so.2 >>> ln -sf libcap.so.2 libcap.so >>> make[3]: Leaving directory '/usr/src/libcap-2.72/libcap' >>> make libpsx.a >>> make[3]: Entering directory '/usr/src/libcap-2.72/libcap' >>> gcc -O2 -g0 -pipe -Wall -fexceptions -fPIC -Wp,-U_FORTIFY_SOURCE -Wp,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -fstack-protector-strong -fstack-clash-protection -mbranch-protection=standard -Wall -Wwrite-strings -Wpointer-arith -Wcast-qual -Wcast-align -Wstrict-prototypes -Wmissing-prototypes -Wnested-externs -Winline -Wshadow -Wunreachable-code -Wall -Wwrite-strings -Wpointer-arith -Wcast-qual -Wcast-align -Wstrict-prototypes -Wmissing-prototypes -Wnested-externs -Winline -Wshadow -Wunreachable-code -fPIC -D_LIBPSX_PTHREAD_LINKAGE -Wall -Wwrite-strings -Wpointer-arith -Wcast-qual -Wcast-align -Wstrict-prototypes -Wmissing-prototypes -Wnested-externs -Winline -Wshadow -Wunreachable-code -fPIC -D_LIBPSX_PTHREAD_LINKAGE -Dlinux -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -I/usr/src/libcap-2.72/libcap/../libcap/include/uapi -I/usr/src/libcap-2.72/libcap/../libcap/include -c ../psx/psx.c -o ../psx/psx.o >>> ../psx/psx.c: In function '__psx_syscall': >>> ../psx/psx.c:489:36: error: 'SYS_getdents' undeclared (first use in this function); did you mean 'SYS_getdents64'? >>> 489 | size_t nread = syscall(SYS_getdents, fd, buf, BUF_SIZE); >>> | ^~~~~~~~~~~~ >>> | SYS_getdents64 >>> ../psx/psx.c:489:36: note: each undeclared identifier is reported only once for each function it appears in >>> make[3]: *** [Makefile:139: ../psx/psx.o] Error 1 >>> make[3]: Leaving directory '/usr/src/libcap-2.72/libcap' >>> make[2]: *** [Makefile:46: all] Error 2 >>> make[2]: Leaving directory '/usr/src/libcap-2.72/libcap' >>> make[1]: *** [Makefile:12: all] Error 2 >>> make[1]: Leaving directory '/usr/src/libcap-2.72' >>> make: *** [libcap:75: /usr/src/log/libcap-2.72] Error 2 >>> make: Leaving directory '/usr/src/lfs' >>> >>> ERROR: Building libcap [ FAIL ] >>> Check /build/nightly/next/log_aarch64/_build.ipfire.log for errors if applicable[ FAIL ]