>>> libtree: Building community/libtree 3.1.1-r0 (using abuild 3.13.0-r3) started Sat, 27 Apr 2024 12:23:57 +0000 >>> libtree: Checking sanity of /home/buildozer/aports/community/libtree/APKBUILD... >>> libtree: Analyzing dependencies... >>> libtree: Installing for build: build-base (1/1) Installing .makedepends-libtree (20240427.122421) OK: 315 MiB in 104 packages >>> libtree: Cleaning up srcdir >>> libtree: Cleaning up pkgdir >>> libtree: Cleaning up tmpdir >>> libtree: Fetching https://distfiles.alpinelinux.org/distfiles/v3.20/libtree-3.1.1.tar.gz Connecting to distfiles.alpinelinux.org (172.105.82.32:443) wget: server returned error: HTTP/1.1 404 Not Found >>> libtree: Fetching https://github.com/haampie/libtree/archive/v3.1.1/libtree-3.1.1.tar.gz Connecting to github.com (140.82.121.3:443) Connecting to codeload.github.com (140.82.121.10:443) saving to '/var/cache/distfiles/libtree-3.1.1.tar.gz.part' libtree-3.1.1.tar.gz 100% |********************************| 79931 0:00:00 ETA '/var/cache/distfiles/libtree-3.1.1.tar.gz.part' saved >>> libtree: Fetching https://distfiles.alpinelinux.org/distfiles/v3.20/libtree-3.1.1.tar.gz >>> libtree: Checking sha512sums... libtree-3.1.1.tar.gz: OK alpine-exclude_list.patch: OK >>> libtree: Unpacking /var/cache/distfiles/libtree-3.1.1.tar.gz... >>> libtree: alpine-exclude_list.patch patching file libtree.c gcc -Os -fstack-clash-protection -Wformat -Werror=format-security -std=c99 -Wall -Wextra -Wshadow -pedantic -D_FILE_OFFSET_BITS=64 -c libtree.c gcc -Wl,--as-needed,-O1,--sort-common -o libtree libtree.o find tests -mindepth 1 -maxdepth 1 -type d | while read -r dir; do \ make -C "$dir" check || exit 1 ;\ done make[1]: Entering directory '/home/buildozer/aports/community/libtree/src/libtree-3.1.1/tests/06_symbol_versions' mkdir -p v1 gcc -shared -Wl,-soname,libx.so -o v1/libx.so -Wl,--version-script,v1.map v1.c mkdir -p v2 gcc -shared -Wl,-soname,libx.so -o v2/libx.so -Wl,--version-script,v2.map v2.c gcc -o exe_v1 main.c v1/libx.so "-Wl,-rpath,/home/buildozer/aports/community/libtree/src/libtree-3.1.1/tests/06_symbol_versions/v2" "-Wl,-rpath,/home/buildozer/aports/community/libtree/src/libtree-3.1.1/tests/06_symbol_versions/v1" gcc -o exe_v2 main.c v2/libx.so "-Wl,-rpath,/home/buildozer/aports/community/libtree/src/libtree-3.1.1/tests/06_symbol_versions/v1" "-Wl,-rpath,/home/buildozer/aports/community/libtree/src/libtree-3.1.1/tests/06_symbol_versions/v2" ../../libtree exe_v1 exe_v1 └── libx.so [runpath] ../../libtree exe_v2 exe_v2 └── libx.so [runpath] make[1]: Leaving directory '/home/buildozer/aports/community/libtree/src/libtree-3.1.1/tests/06_symbol_versions' make[1]: Entering directory '/home/buildozer/aports/community/libtree/src/libtree-3.1.1/tests/04_rpath_over_env_over_runpath' echo 'int b(){return 10;}' | gcc -shared -Wl,-soname,libb.so -Wl,--no-as-needed -o libb.so -Wno-implicit-function-declaration -nostdlib -x c - mkdir dir echo 'int a(){return 42;}' | gcc -shared -Wl,-soname,liba.so -Wl,--no-as-needed -o dir/liba.so -nostdlib -x c - echo 'int _start(){return b();}' | gcc -Wl,--no-as-needed -Wl,--disable-new-dtags "-Wl,-rpath,/home/buildozer/aports/community/libtree/src/libtree-3.1.1/tests/04_rpath_over_env_over_runpath" libb.so -o exe_rpath -Wno-implicit-function-declaration -nostdlib -x c - echo 'int _start(){return b();}' | gcc -Wl,--no-as-needed -Wl,--enable-new-dtags "-Wl,-rpath,/home/buildozer/aports/community/libtree/src/libtree-3.1.1/tests/04_rpath_over_env_over_runpath" libb.so -o exe_runpath -Wno-implicit-function-declaration -nostdlib -x c - echo 'int b(){return a();}' | gcc -shared -Wl,-soname,libb.so -Wl,--no-as-needed -Wl,--disable-new-dtags '-Wl,-rpath,$ORIGIN' -Wno-implicit-function-declaration -o dir/libb.so -nostdlib dir/liba.so -x c - ../../libtree exe_rpath exe_rpath └── libb.so [rpath] LD_LIBRARY_PATH="/home/buildozer/aports/community/libtree/src/libtree-3.1.1/tests/04_rpath_over_env_over_runpath/dir" ../../libtree exe_rpath exe_rpath └── libb.so [rpath] ../../libtree exe_runpath exe_runpath └── libb.so [runpath] LD_LIBRARY_PATH="/home/buildozer/aports/community/libtree/src/libtree-3.1.1/tests/04_rpath_over_env_over_runpath/dir" ../../libtree exe_runpath exe_runpath └── libb.so [LD_LIBRARY_PATH] └── liba.so [rpath] make[1]: Leaving directory '/home/buildozer/aports/community/libtree/src/libtree-3.1.1/tests/04_rpath_over_env_over_runpath' make[1]: Entering directory '/home/buildozer/aports/community/libtree/src/libtree-3.1.1/tests/03_direct_and_absolute_rpath' mkdir some_dir echo 'int i(){return 1;}' | gcc -shared -Wl,--no-as-needed -o lib_without_soname.so -x c - echo 'int f(){return 42;}' | gcc -shared -Wl,-soname,lib_f.so -Wl,--no-as-needed -o some_dir/lib_f.so -x c - echo 'extern int f(); int g(){return f();}' | gcc -shared -Wl,-soname,lib_g.so -Wl,--no-as-needed "-Wl,-rpath,/home/buildozer/aports/community/libtree/src/libtree-3.1.1/tests/03_direct_and_absolute_rpath/some_dir" -L./some_dir -l_f -o lib_g.so -x c - echo 'extern int i(); extern int f(); extern int g(); int main(){return f() + g() + i();}' | gcc -Wl,--no-as-needed "-Wl,-rpath,/home/buildozer/aports/community/libtree/src/libtree-3.1.1/tests/03_direct_and_absolute_rpath/" -L. -L./some_dir -l_f -l_g /home/buildozer/aports/community/libtree/src/libtree-3.1.1/tests/03_direct_and_absolute_rpath/lib_without_soname.so -o exe_a -x c - echo 'extern int i(); extern int f(); extern int g(); int main(){return f() + g() + i();}' | gcc -Wl,--no-as-needed "-Wl,-rpath,/home/buildozer/aports/community/libtree/src/libtree-3.1.1/tests/03_direct_and_absolute_rpath/" "-Wl,-rpath,/home/buildozer/aports/community/libtree/src/libtree-3.1.1/tests/03_direct_and_absolute_rpath/some_dir" -L. -L./some_dir -l_f -l_g /home/buildozer/aports/community/libtree/src/libtree-3.1.1/tests/03_direct_and_absolute_rpath/lib_without_soname.so -o exe_b -x c - ! ../../libtree exe_a # cannot find lib_f.so exe_a ├── /home/buildozer/aports/community/libtree/src/libtree-3.1.1/tests/03_direct_and_absolute_rpath/lib_without_soname.so [direct] ├── lib_g.so [runpath] │ └── lib_f.so [runpath] └── lib_f.so not found ┊ Paths considered in this order: ┊ 1. rpath is skipped because runpath was set ┊ 2. LD_LIBRARY_PATH was not set ┊ 3. runpath: ┊ /home/buildozer/aports/community/libtree/src/libtree-3.1.1/tests/03_direct_and_absolute_rpath/ ┊ 4. ld config files: ┊ 5. Standard paths: ┊ /lib ┊ /lib64 ┊ /usr/lib ┊ /usr/lib64 Error [exe_a]: Not all dependencies were found ../../libtree exe_b # should find lib_f.so exe_b ├── /home/buildozer/aports/community/libtree/src/libtree-3.1.1/tests/03_direct_and_absolute_rpath/lib_without_soname.so [direct] ├── lib_g.so [runpath] │ └── lib_f.so [runpath] └── lib_f.so [runpath] make[1]: Leaving directory '/home/buildozer/aports/community/libtree/src/libtree-3.1.1/tests/03_direct_and_absolute_rpath' make[1]: Entering directory '/home/buildozer/aports/community/libtree/src/libtree-3.1.1/tests/07_origin_is_relative_to_symlink_location_not_realpath' mkdir -p a echo 'int f(){return 3;};' | gcc -shared -Wl,-soname,libf.so -o a/libf.so -x c - -nostdlib mkdir -p a echo 'extern int f(); int g(){return f();};' | gcc -shared -Wl,-soname,libg.so '-Wl,-rpath,${ORIGIN}' -o a/libg.so -x c - -La -lf -nostdlib mkdir -p b ln -vs ../a/libg.so b/libg.so 'b/libg.so' -> '../a/libg.so' echo 'extern int g(); int _start(){return g();};' | gcc -Wl,-soname,exe '-Wl,-rpath,${ORIGIN}/b' -o exe -x c - -La -lg -nostdlib ! ../../libtree exe # should not find libf.so exe └── libg.so [runpath] └── libf.so not found ┊ Paths considered in this order: ┊ 1. rpath is skipped because runpath was set ┊ 2. LD_LIBRARY_PATH was not set ┊ 3. runpath: ┊ .//b ┊ 4. ld config files: ┊ 5. Standard paths: ┊ /lib ┊ /lib64 ┊ /usr/lib ┊ /usr/lib64 Error [exe]: Not all dependencies were found LD_LIBRARY_PATH=/home/buildozer/aports/community/libtree/src/libtree-3.1.1/tests/07_origin_is_relative_to_symlink_location_not_realpath/a ../../libtree exe # should find libf.so exe └── libg.so [LD_LIBRARY_PATH] └── libf.so [LD_LIBRARY_PATH] make[1]: Leaving directory '/home/buildozer/aports/community/libtree/src/libtree-3.1.1/tests/07_origin_is_relative_to_symlink_location_not_realpath' make[1]: Entering directory '/home/buildozer/aports/community/libtree/src/libtree-3.1.1/tests/08_nodeflib' echo 'int f(){return 1;}' | gcc -z nodefaultlib -Wl,--no-as-needed -shared -Wl,-soname,lib_nodefaultlib.so -o lib_nodefaultlib.so -x c - echo 'int g(){return 1;}' | gcc -Wl,--no-as-needed -shared -Wl,-soname,lib_defaultlib.so -o lib_defaultlib.so -x c - echo 'extern int f(); extern int g(); int main(){return f() + g();}' | gcc -z nodefaultlib -o exe_a -Wl,--enable-new-dtags '-Wl,-rpath,$ORIGIN' -x c - -L. -l_nodefaultlib -l_defaultlib echo 'extern int g(); int main(){return g();}' | gcc -z nodefaultlib -o exe_b -Wl,--disable-new-dtags '-Wl,-rpath,$ORIGIN' -x c - -L. -l_defaultlib ! ../../libtree -vvv exe_a # should likely not find libc exe_a ├── lib_nodefaultlib.so [runpath] │ └── libc.musl-armhf.so.1 not found │ ┊ Paths considered in this order: │ ┊ 1. rpath: │ ┊ 2. LD_LIBRARY_PATH was not set │ ┊ 3. runpath was not set │ ┊ 4. ld config files not considered due to NODEFLIB flag │ ┊ 5. Standard paths not considered due to NODEFLIB flag │ ┊ /lib │ ┊ /lib64 │ ┊ /usr/lib │ ┊ /usr/lib64 ├── lib_defaultlib.so [runpath] │ └── libc.musl-armhf.so.1 [default path] └── libc.musl-armhf.so.1 not found ┊ Paths considered in this order: ┊ 1. rpath is skipped because runpath was set ┊ 2. LD_LIBRARY_PATH was not set ┊ 3. runpath: ┊ ./ ┊ 4. ld config files not considered due to NODEFLIB flag ┊ 5. Standard paths not considered due to NODEFLIB flag ┊ /lib ┊ /lib64 ┊ /usr/lib ┊ /usr/lib64 Error [exe_a]: Not all dependencies were found ! ../../libtree -vvv exe_b # should likely not find libc exe_b ├── lib_defaultlib.so [rpath] │ └── libc.musl-armhf.so.1 [default path] └── libc.musl-armhf.so.1 not found ┊ Paths considered in this order: ┊ 1. rpath: ┊ depth 1 ┊ ./ ┊ 2. LD_LIBRARY_PATH was not set ┊ 3. runpath was not set ┊ 4. ld config files not considered due to NODEFLIB flag ┊ 5. Standard paths not considered due to NODEFLIB flag ┊ /lib ┊ /lib64 ┊ /usr/lib ┊ /usr/lib64 Error [exe_b]: Not all dependencies were found make[1]: Leaving directory '/home/buildozer/aports/community/libtree/src/libtree-3.1.1/tests/08_nodeflib' make[1]: Entering directory '/home/buildozer/aports/community/libtree/src/libtree-3.1.1/tests/02_rpath_of_parents_parent' echo 'int g(){return 1;}' | gcc -shared -Wl,-soname,libb.so -o libb.so -nostdlib -x c - echo 'int f(){return g();}' | gcc -shared -Wl,--no-as-needed -Wl,-soname,liba.so -o liba.so -Wno-implicit-function-declaration libb.so -nostdlib -x c - echo 'int _start(){return f();}' | gcc -o exe -Wl,--no-as-needed -Wl,--disable-new-dtags '-Wl,-rpath,$ORIGIN' '-Wl,-rpath-link,/home/buildozer/aports/community/libtree/src/libtree-3.1.1/tests/02_rpath_of_parents_parent' -Wno-implicit-function-declaration -nostdlib -L. -la -x c - ! ../../libtree liba.so # should not find libb.so liba.so └── libb.so not found ┊ Paths considered in this order: ┊ 1. rpath: ┊ 2. LD_LIBRARY_PATH was not set ┊ 3. runpath was not set ┊ 4. ld config files: ┊ 5. Standard paths: ┊ /lib ┊ /lib64 ┊ /usr/lib ┊ /usr/lib64 Error [liba.so]: Not all dependencies were found LD_LIBRARY_PATH=/home/buildozer/aports/community/libtree/src/libtree-3.1.1/tests/02_rpath_of_parents_parent ../../libtree liba.so # should find libb.so through LD_LIBRARY_PATH liba.so └── libb.so [LD_LIBRARY_PATH] ../../libtree exe # should find libb.so through exe's rpath exe └── liba.so [rpath] └── libb.so [rpath of 1] make[1]: Leaving directory '/home/buildozer/aports/community/libtree/src/libtree-3.1.1/tests/02_rpath_of_parents_parent' make[1]: Entering directory '/home/buildozer/aports/community/libtree/src/libtree-3.1.1/tests/01_origin' echo 'int f(){return 1;}' | gcc -shared -Wl,-soname,liba.so -o liba.so -nostdlib -x c - echo 'int _start(){return f();}' | gcc -o exe_rpath -Wl,--no-as-needed -Wl,--disable-new-dtags '-Wl,-rpath,$ORIGIN' -Wno-implicit-function-declaration -nostdlib liba.so -x c - echo 'int _start(){return f();}' | gcc -o exe_runpath -Wl,--no-as-needed -Wl,--enable-new-dtags '-Wl,-rpath,$ORIGIN' -Wno-implicit-function-declaration -nostdlib liba.so -x c - ../../libtree exe_rpath exe_rpath └── liba.so [rpath] ../../libtree exe_runpath exe_runpath └── liba.so [runpath] make[1]: Leaving directory '/home/buildozer/aports/community/libtree/src/libtree-3.1.1/tests/01_origin' make[1]: Entering directory '/home/buildozer/aports/community/libtree/src/libtree-3.1.1/tests/10_rpath_order' echo 'int g(){return 1;}' | gcc -shared -Wl,-soname,libb.so -o first/libb.so -x c - echo 'int g(){return 2;}' | gcc -shared -Wl,-soname,libb.so -o second/libb.so -x c - echo 'extern int g(); int f(){return g();}' | gcc -shared -Wl,--disable-new-dtags -Wl,-soname,liba.so -o liba.so '-Wl,-rpath,$ORIGIN/second' -x c - -Lsecond -lb echo 'extern int f(); int main(){return f();}' | gcc -o exe -Wl,--disable-new-dtags '-Wl,-rpath,$ORIGIN,-rpath,$ORIGIN/first' -x c - -L. -la ../../libtree -p liba.so # should find second/libb.so, not first/libb.so liba.so └── .//second/libb.so [rpath] ../../libtree -p exe # should find second/libb.so, not first/libb.so exe └── ./liba.so [rpath] └── ./second/libb.so [rpath] make[1]: Leaving directory '/home/buildozer/aports/community/libtree/src/libtree-3.1.1/tests/10_rpath_order' >>> libtree: Entering fakeroot... mkdir -p /home/buildozer/aports/community/libtree/pkg/libtree/usr/bin cp -p libtree /home/buildozer/aports/community/libtree/pkg/libtree/usr/bin mkdir -p /home/buildozer/aports/community/libtree/pkg/libtree/usr/share/man/man1 cp -p doc/libtree.1 /home/buildozer/aports/community/libtree/pkg/libtree/usr/share/man/man1 >>> libtree-doc*: Running split function doc... >>> libtree-doc*: Preparing subpackage libtree-doc... >>> libtree-doc*: Running postcheck for libtree-doc >>> libtree*: Running postcheck for libtree >>> libtree*: Preparing package libtree... >>> libtree*: Stripping binaries >>> libtree-doc*: Scanning shared objects >>> libtree*: Scanning shared objects >>> libtree-doc*: Tracing dependencies... >>> libtree-doc*: Package size: 24.0 KB >>> libtree-doc*: Compressing data... >>> libtree-doc*: Create checksum... >>> libtree-doc*: Create libtree-doc-3.1.1-r0.apk >>> libtree*: Tracing dependencies... so:libc.musl-armhf.so.1 >>> libtree*: Package size: 36.0 KB >>> libtree*: Compressing data... >>> libtree*: Create checksum... >>> libtree*: Create libtree-3.1.1-r0.apk >>> libtree: Build complete at Sat, 27 Apr 2024 12:24:23 +0000 elapsed time 0h 0m 26s >>> libtree: Cleaning up srcdir >>> libtree: Cleaning up pkgdir >>> libtree: Uninstalling dependencies... (1/1) Purging .makedepends-libtree (20240427.122421) OK: 315 MiB in 103 packages >>> libtree: Updating the community/armhf repository index... >>> libtree: Signing the index...