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() https://git.kernel.org/pub/scm/libs/libcap/libcap.git/commit/?id=304089b078f2f339cd7ccb030a0ad0194aea0a0f,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...
commit c004ed4755890f575729aefefad567ac033c8cb5 Author: Arne Fitzenreiter arne_f@ipfire.org Date: Fri Dec 13 10:05:31 2024 +0100
core191: ship libxml2 Signed-off-by: Arne Fitzenreiter arne_f@ipfire.org
https://git.ipfire.org/?p=ipfire-2.x.git;a=shortlog;h=c004ed4755890f575729ae...
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 ]