patchelf
patchelf copied to clipboard
FAIL: build-id.sh
Describe the bug
Making check in src
make[1]: Entering directory /data/6190113/biosoft/patchelf/src' g++ -DPACKAGE_NAME=\"patchelf\" -DPACKAGE_TARNAME=\"patchelf\" -DPACKAGE_VERSION=\"0.12\" -DPACKAGE_STRING=\"patchelf\ 0.12\" -DPACKAGE_BUGREPORT=\"\" -DPACKAGE=\"patchelf\" -DVERSION=\"0.12\" -I. -Wall -std=c++11 -D_FILE_OFFSET_BITS=64 -g -O2 -MT patchelf.o -MD -MP -MF .deps/patchelf.Tpo -c -o patchelf.o patchelf.cc mv -f .deps/patchelf.Tpo .deps/patchelf.Po g++ -Wall -std=c++11 -D_FILE_OFFSET_BITS=64 -g -O2 -o patchelf patchelf.o /usr/bin/ld: skipping incompatible /usr/lib/../lib/libm.so when searching for -lm /usr/bin/ld: skipping incompatible /usr/lib/../lib/libm.a when searching for -lm /usr/bin/ld: skipping incompatible /usr/lib/../lib/libc.so when searching for -lc /usr/bin/ld: skipping incompatible /usr/lib/../lib/libc.a when searching for -lc make[1]: Leaving directory
/data/6190113/biosoft/patchelf/src'
Making check in tests
make[1]: Entering directory /data/6190113/biosoft/patchelf/tests' make simple main main-scoped big-dynstr no-rpath libfoo.so libfoo-scoped.so libbar.so libbar-scoped.so libsimple.so libbuildid.so make[2]: Entering directory
/data/6190113/biosoft/patchelf/tests'
gcc -DPACKAGE_NAME="patchelf" -DPACKAGE_TARNAME="patchelf" -DPACKAGE_VERSION="0.12" -DPACKAGE_STRING="patchelf\ 0.12" -DPACKAGE_BUGREPORT="" -DPACKAGE="patchelf" -DVERSION="0.12" -I. -g -O2 -MT simple-simple.o -MD -MP -MF .deps/simple-simple.Tpo -c -o simple-simple.o test -f 'simple.c' || echo './'
simple.c
mv -f .deps/simple-simple.Tpo .deps/simple-simple.Po
gcc -g -O2 -o simple simple-simple.o
/usr/bin/ld: skipping incompatible /usr/lib/../lib/libc.so when searching for -lc
/usr/bin/ld: skipping incompatible /usr/lib/../lib/libc.a when searching for -lc
gcc -DPACKAGE_NAME="patchelf" -DPACKAGE_TARNAME="patchelf" -DPACKAGE_VERSION="0.12" -DPACKAGE_STRING="patchelf\ 0.12" -DPACKAGE_BUGREPORT="" -DPACKAGE="patchelf" -DVERSION="0.12" -I. -fpic -g -O2 -MT main.o -MD -MP -MF .deps/main.Tpo -c -o main.o main.c
mv -f .deps/main.Tpo .deps/main.Po
gcc -DPACKAGE_NAME="patchelf" -DPACKAGE_TARNAME="patchelf" -DPACKAGE_VERSION="0.12" -DPACKAGE_STRING="patchelf\ 0.12" -DPACKAGE_BUGREPORT="" -DPACKAGE="patchelf" -DVERSION="0.12" -I. -fpic -g -O2 -MT foo.o -MD -MP -MF .deps/foo.Tpo -c -o foo.o foo.c
mv -f .deps/foo.Tpo .deps/foo.Po
gcc -DPACKAGE_NAME="patchelf" -DPACKAGE_TARNAME="patchelf" -DPACKAGE_VERSION="0.12" -DPACKAGE_STRING="patchelf\ 0.12" -DPACKAGE_BUGREPORT="" -DPACKAGE="patchelf" -DVERSION="0.12" -I. -fpic -g -O2 -MT bar.o -MD -MP -MF .deps/bar.Tpo -c -o bar.o bar.c
mv -f .deps/bar.Tpo .deps/bar.Po
gcc -fpic -g -O2 -Wl,--disable-new-dtags -shared -L. -Wl,-rpath,pwd
/no-such-path -o libbar.so bar.o
/usr/bin/ld: skipping incompatible /usr/lib/../lib/libc.so when searching for -lc
/usr/bin/ld: skipping incompatible /usr/lib/../lib/libc.a when searching for -lc
gcc -fpic -g -O2 -Wl,--disable-new-dtags -shared -L. -o libfoo.so foo.o -lbar
/usr/bin/ld: skipping incompatible /usr/lib/../lib/libc.so when searching for -lc
/usr/bin/ld: skipping incompatible /usr/lib/../lib/libc.a when searching for -lc
gcc -fpic -g -O2 -Wl,--disable-new-dtags -Wl,-rpath-link=. -L. -o main main.o -lfoo
/usr/bin/ld: skipping incompatible /usr/lib/../lib/libc.so when searching for -lc
/usr/bin/ld: skipping incompatible /usr/lib/../lib/libc.a when searching for -lc
gcc -fpic -g -O2 -Wl,--disable-new-dtags -shared -L. -o libbar-scoped.so bar.o
/usr/bin/ld: skipping incompatible /usr/lib/../lib/libc.so when searching for -lc
/usr/bin/ld: skipping incompatible /usr/lib/../lib/libc.a when searching for -lc
gcc -fpic -g -O2 -Wl,--disable-new-dtags -shared -L. -o libfoo-scoped.so foo.o -lbar-scoped
/usr/bin/ld: skipping incompatible /usr/lib/../lib/libc.so when searching for -lc
/usr/bin/ld: skipping incompatible /usr/lib/../lib/libc.a when searching for -lc
gcc -fpic -g -O2 -Wl,--disable-new-dtags -Wl,-rpath-link=. -L. -o main-scoped main.o -lfoo-scoped
/usr/bin/ld: skipping incompatible /usr/lib/../lib/libc.so when searching for -lc
/usr/bin/ld: skipping incompatible /usr/lib/../lib/libc.a when searching for -lc
cat main.c > big-dynstr.c
for i in $(seq 1 2000); do echo "void f$i(void) { };" >> big-dynstr.c; done
gcc -DPACKAGE_NAME="patchelf" -DPACKAGE_TARNAME="patchelf" -DPACKAGE_VERSION="0.12" -DPACKAGE_STRING="patchelf\ 0.12" -DPACKAGE_BUGREPORT="" -DPACKAGE="patchelf" -DVERSION="0.12" -I. -fpic -g -O2 -MT big-dynstr.o -MD -MP -MF .deps/big-dynstr.Tpo -c -o big-dynstr.o big-dynstr.c
mv -f .deps/big-dynstr.Tpo .deps/big-dynstr.Po
gcc -fpic -g -O2 -Wl,--disable-new-dtags -Wl,-rpath-link=. -L. -o big-dynstr big-dynstr.o -lfoo
/usr/bin/ld: skipping incompatible /usr/lib/../lib/libc.so when searching for -lc
/usr/bin/ld: skipping incompatible /usr/lib/../lib/libc.a when searching for -lc
gcc -DPACKAGE_NAME="patchelf" -DPACKAGE_TARNAME="patchelf" -DPACKAGE_VERSION="0.12" -DPACKAGE_STRING="patchelf\ 0.12" -DPACKAGE_BUGREPORT="" -DPACKAGE="patchelf" -DVERSION="0.12" -I. -g -O2 -MT no_rpath-no-rpath.o -MD -MP -MF .deps/no_rpath-no-rpath.Tpo -c -o no_rpath-no-rpath.o test -f 'no-rpath.c' || echo './'
no-rpath.c
mv -f .deps/no_rpath-no-rpath.Tpo .deps/no_rpath-no-rpath.Po
gcc -g -O2 -o no-rpath no_rpath-no-rpath.o
/usr/bin/ld: skipping incompatible /usr/lib/../lib/libc.so when searching for -lc
/usr/bin/ld: skipping incompatible /usr/lib/../lib/libc.a when searching for -lc
make[2]: libfoo.so' is up to date. make[2]:
libfoo-scoped.so' is up to date.
make[2]: libbar.so' is up to date. make[2]:
libbar-scoped.so' is up to date.
gcc -DPACKAGE_NAME="patchelf" -DPACKAGE_TARNAME="patchelf" -DPACKAGE_VERSION="0.12" -DPACKAGE_STRING="patchelf\ 0.12" -DPACKAGE_BUGREPORT="" -DPACKAGE="patchelf" -DVERSION="0.12" -I. -fpic -g -O2 -MT simple.o -MD -MP -MF .deps/simple.Tpo -c -o simple.o simple.c
mv -f .deps/simple.Tpo .deps/simple.Po
gcc -fpic -g -O2 -Wl,--disable-new-dtags -shared -L. -o libsimple.so simple.o
/usr/bin/ld: skipping incompatible /usr/lib/../lib/libc.so when searching for -lc
/usr/bin/ld: skipping incompatible /usr/lib/../lib/libc.a when searching for -lc
gcc -fpic -g -O2 -Wl,--disable-new-dtags -shared -L. -Wl,-build-id -o libbuildid.so simple.o
/usr/bin/ld: skipping incompatible /usr/lib/../lib/libc.so when searching for -lc
/usr/bin/ld: skipping incompatible /usr/lib/../lib/libc.a when searching for -lc
make[2]: Leaving directory /data/6190113/biosoft/patchelf/tests' make check-TESTS make[2]: Entering directory
/data/6190113/biosoft/patchelf/tests'
make[3]: Entering directory `/data/6190113/biosoft/patchelf/tests'
PASS: plain-fail.sh
PASS: plain-run.sh
PASS: shrink-rpath.sh
PASS: set-interpreter-short.sh
PASS: set-interpreter-long.sh
PASS: set-rpath.sh
PASS: no-rpath.sh
PASS: big-dynstr.sh
PASS: set-rpath-library.sh
PASS: soname.sh
PASS: shrink-rpath-with-allowed-prefixes.sh
PASS: force-rpath.sh
PASS: plain-needed.sh
PASS: output-flag.sh
PASS: no-rpath-pie-powerpc.sh
FAIL: build-id.sh
PASS: no-rpath-amd64.sh
PASS: no-rpath-armel.sh
PASS: no-rpath-armhf.sh
PASS: no-rpath-hurd-i386.sh
PASS: no-rpath-i386.sh
PASS: no-rpath-ia64.sh
PASS: no-rpath-kfreebsd-amd64.sh
PASS: no-rpath-kfreebsd-i386.sh
PASS: no-rpath-mips.sh
PASS: no-rpath-mipsel.sh
PASS: no-rpath-powerpc.sh
PASS: no-rpath-s390.sh
PASS: no-rpath-sh4.sh
PASS: no-rpath-sparc.sh
1 of 30 tests failed See tests/test-suite.log
make[3]: *** [test-suite.log] Error 1
make[3]: Leaving directory /data/6190113/biosoft/patchelf/tests' make[2]: *** [check-TESTS] Error 2 make[2]: Leaving directory
/data/6190113/biosoft/patchelf/tests'
make[1]: *** [check-am] Error 2
make[1]: Leaving directory `/data/6190113/biosoft/patchelf/tests'
make: *** [check-recursive] Error 1
Steps To Reproduce
git clone https://github.com/NixOS/patchelf.git cd patchelf ./bootstrap.sh ./configure make check
Expected behavior
How to compile it correctly
patchelf --version
output
Additional context
Add any other context about the problem here.
platform?
I have the same error. I'm running on RHEL 6, but with a custom-compiled GCC v9.4.0. Here's the output of tests/test-suite.log.
===========================================
patchelf 0.14.3: tests/test-suite.log
===========================================
1 of 44 tests failed.
.. contents:: :depth: 2
FAIL: build-id.sh (exit: 1)
===========================
patching ELF file 'scratch/build-id/libbuildid.so'
new rpath is 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA'
rpath is too long, resizing...
DT_NULL index is 19
replacing section '.dynamic' with size 400
replacing section '.dynstr' with size 1158
this is a dynamic library
last page is 0x1201000
first page is 0x0
needed space is 1680
rewriting section '.dynamic' from offset 0x750 (size 384) to offset 0x3000 (size 400)
rewriting section '.dynstr' from offset 0x358 (size 157) to offset 0x3190 (size 1158)
rewriting section '.hash' from offset 0x1b8 (size 76) to offset 0x3618 (size 76)
rewriting section '.note.gnu.build-id' from offset 0x190 (size 36) to offset 0x3668 (size 36)
rewriting symbol table section 1
rewriting symbol table section 28
writing scratch/build-id/libbuildid.so
Can you check master? We recently applied https://github.com/NixOS/patchelf/pull/352