>>> libtree: Building community/libtree 3.1.0-r0 (using abuild 3.9.0-r0) started Sat, 07 May 2022 19:26:24 +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 (20220507.192625) OK: 332 MiB in 99 packages >>> libtree: Cleaning up srcdir >>> libtree: Cleaning up pkgdir >>> libtree: Fetching https://distfiles.alpinelinux.org/distfiles/edge/libtree-3.1.0.tar.gz % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 0 146 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 curl: (22) The requested URL returned error: 404 >>> libtree: Fetching https://github.com/haampie/libtree/archive/v3.1.0/libtree-3.1.0.tar.gz % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 100 79936 100 79936 0 0 324k 0 --:--:-- --:--:-- --:--:-- 324k >>> libtree: Fetching https://distfiles.alpinelinux.org/distfiles/edge/libtree-3.1.0.tar.gz >>> libtree: Checking sha512sums... libtree-3.1.0.tar.gz: OK alpine-exclude_list.patch: OK >>> libtree: Unpacking /var/cache/distfiles/edge/libtree-3.1.0.tar.gz... >>> libtree: alpine-exclude_list.patch patching file libtree.c gcc -Os -fomit-frame-pointer -std=c99 -Wall -Wextra -Wshadow -pedantic -D_FILE_OFFSET_BITS=64 -c libtree.c gcc -Wl,--as-needed,-O1,--sort-common libtree.o -o libtree for dir in tests/01_origin tests/02_rpath_of_parents_parent tests/03_direct_and_absolute_rpath tests/04_rpath_over_env_over_runpath tests/05_32_bits tests/06_symbol_versions tests/07_origin_is_relative_to_symlink_location_not_realpath tests/08_nodeflib tests/10_rpath_order; do \ make -C $dir check || break ;\ done make[1]: Entering directory '/home/buildozer/aports/community/libtree/src/libtree-3.1.0/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.0/tests/01_origin' make[1]: Entering directory '/home/buildozer/aports/community/libtree/src/libtree-3.1.0/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.0/tests/02_rpath_of_parents_parent' -Wno-implicit-function-declaration -nostdlib -L. -la -x c - ../../libtree liba.so || true # 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.0/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.0/tests/02_rpath_of_parents_parent' make[1]: Entering directory '/home/buildozer/aports/community/libtree/src/libtree-3.1.0/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.0/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.0/tests/03_direct_and_absolute_rpath/" -L. -L./some_dir -l_f -l_g /home/buildozer/aports/community/libtree/src/libtree-3.1.0/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.0/tests/03_direct_and_absolute_rpath/" "-Wl,-rpath,/home/buildozer/aports/community/libtree/src/libtree-3.1.0/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.0/tests/03_direct_and_absolute_rpath/lib_without_soname.so -o exe_b -x c - ../../libtree exe_a || true # cannot find lib_f.so exe_a ├── /home/buildozer/aports/community/libtree/src/libtree-3.1.0/tests/03_direct_and_absolute_rpath/lib_without_soname.so [direct] ├── lib_g.so [rpath] │ └── lib_f.so [rpath] └── lib_f.so not found ┊ Paths considered in this order: ┊ 1. rpath: ┊ depth 1 ┊ /home/buildozer/aports/community/libtree/src/libtree-3.1.0/tests/03_direct_and_absolute_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 [exe_a]: Not all dependencies were found ../../libtree exe_b || true # should find lib_f.so exe_b ├── /home/buildozer/aports/community/libtree/src/libtree-3.1.0/tests/03_direct_and_absolute_rpath/lib_without_soname.so [direct] ├── lib_g.so [rpath] │ └── lib_f.so [rpath] └── lib_f.so [rpath] make[1]: Leaving directory '/home/buildozer/aports/community/libtree/src/libtree-3.1.0/tests/03_direct_and_absolute_rpath' make[1]: Entering directory '/home/buildozer/aports/community/libtree/src/libtree-3.1.0/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 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 - 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.0/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.0/tests/04_rpath_over_env_over_runpath" libb.so -o exe_runpath -Wno-implicit-function-declaration -nostdlib -x c - ../../libtree exe_rpath exe_rpath └── libb.so [rpath] LD_LIBRARY_PATH="/home/buildozer/aports/community/libtree/src/libtree-3.1.0/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.0/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.0/tests/04_rpath_over_env_over_runpath' make[1]: Entering directory '/home/buildozer/aports/community/libtree/src/libtree-3.1.0/tests/05_32_bits' mkdir -p lib32/ mkdir -p lib64/ echo 'int a(){return 42;}' | gcc -shared -Wl,-soname,libx.so -m32 -o lib32/libx.so -nostdlib -x c - echo 'int a(){return 42;}' | gcc -shared -Wl,-soname,libx.so -m64 -o lib64/libx.so -nostdlib -x c - echo 'extern int a(); int _start(){return a();}' | gcc -m64 "-Wl,-rpath,/home/buildozer/aports/community/libtree/src/libtree-3.1.0/tests/05_32_bits/lib32" "-Wl,-rpath,/home/buildozer/aports/community/libtree/src/libtree-3.1.0/tests/05_32_bits/lib64" -o exe64 -nostdlib -x c - -Llib64 -lx echo 'extern int a(); int _start(){return a();}' | gcc -m32 "-Wl,-rpath,/home/buildozer/aports/community/libtree/src/libtree-3.1.0/tests/05_32_bits/lib64" "-Wl,-rpath,/home/buildozer/aports/community/libtree/src/libtree-3.1.0/tests/05_32_bits/lib32" -o exe32 -nostdlib -x c - -Llib32 -lx ../../libtree exe32 exe32 └── libx.so [rpath] ../../libtree exe64 exe64 └── libx.so [rpath] make[1]: Leaving directory '/home/buildozer/aports/community/libtree/src/libtree-3.1.0/tests/05_32_bits' make[1]: Entering directory '/home/buildozer/aports/community/libtree/src/libtree-3.1.0/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.0/tests/06_symbol_versions/v2/" "-Wl,-rpath,/home/buildozer/aports/community/libtree/src/libtree-3.1.0/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.0/tests/06_symbol_versions/v1/" "-Wl,-rpath,/home/buildozer/aports/community/libtree/src/libtree-3.1.0/tests/06_symbol_versions/v2/" ../../libtree exe_v1 exe_v1 └── libx.so [rpath] ../../libtree exe_v2 exe_v2 └── libx.so [rpath] make[1]: Leaving directory '/home/buildozer/aports/community/libtree/src/libtree-3.1.0/tests/06_symbol_versions' make[1]: Entering directory '/home/buildozer/aports/community/libtree/src/libtree-3.1.0/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 || true # should not find libf.so exe └── libg.so [rpath] └── libf.so not found ┊ Paths considered in this order: ┊ 1. rpath: ┊ depth 2 ┊ .//b ┊ depth 1 ┊ .//b ┊ 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 [exe]: Not all dependencies were found LD_LIBRARY_PATH=/home/buildozer/aports/community/libtree/src/libtree-3.1.0/tests/07_origin_is_relative_to_symlink_location_not_realpath/a ../../libtree exe || true # should not find libf.so exe └── libg.so [rpath] └── libf.so [LD_LIBRARY_PATH] make[1]: Leaving directory '/home/buildozer/aports/community/libtree/src/libtree-3.1.0/tests/07_origin_is_relative_to_symlink_location_not_realpath' make[1]: Entering directory '/home/buildozer/aports/community/libtree/src/libtree-3.1.0/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 || true # should likely not find libc exe_a ├── lib_nodefaultlib.so [runpath] │ └── libc.musl-x86_64.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-x86_64.so.1 [default path] └── libc.musl-x86_64.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 || true # should likely not find libc exe_b ├── lib_defaultlib.so [rpath] │ └── libc.musl-x86_64.so.1 [default path] └── libc.musl-x86_64.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.0/tests/08_nodeflib' make[1]: Entering directory '/home/buildozer/aports/community/libtree/src/libtree-3.1.0/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.0/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.0-r0.apk >>> libtree*: Tracing dependencies... so:libc.musl-x86_64.so.1 >>> libtree*: Package size: 40.0 KB >>> libtree*: Compressing data... >>> libtree*: Create checksum... >>> libtree*: Create libtree-3.1.0-r0.apk >>> libtree: Build complete at Sat, 07 May 2022 19:26:28 +0000 elapsed time 0h 0m 4s >>> libtree: Cleaning up srcdir >>> libtree: Cleaning up pkgdir >>> libtree: Uninstalling dependencies... (1/1) Purging .makedepends-libtree (20220507.192625) OK: 332 MiB in 98 packages >>> libtree: Updating the community/x86_64 repository index... >>> libtree: Signing the index...