From 9a7c08e0238ba0eebe9e3a7168c5c3446b090a0e Mon Sep 17 00:00:00 2001 From: Thomas Gambier <thomas.gambier@nexedi.com> Date: Mon, 12 Oct 2020 14:33:47 +0200 Subject: [PATCH] Revert "gcc: make the ld wrapper add paths via -rpath if there's already an -rpath arg" This reverts commit 3d12ddae1a09d06c413d1b32650097a8aa381e19. The commit was instroducing errors in compilation or at runtime. Compilation error were like (for cmake in Debian 8 machine): [ 99%] Built target CTestLib [100%] Built target ctest Install the project... bin/cmake: /usr/lib/x86_64-linux-gnu/libstdc++.so.6: version `GLIBCXX_3.4.21' not found (required by bin/cmake) bin/cmake: /usr/lib/x86_64-linux-gnu/libstdc++.so.6: version `CXXABI_1.3.9' not found (required by bin/cmake) Makefile:72: recipe for target 'install' failed make: *** [install] Error 1 cmake: Command 'set -e;make install' returned non-zero exit status 2 cmake: Compilation error. The package is left as is at /srv/slapgrid/slappart61/srv/runner/shared/cmake/9fc4b0e8f4f03ce17eb7ef43525d2238__compile__/cmake-3.7.2 where you can inspect what went wrong. Runtime errors were like (for mariadb in Debian 9): Traceback (most recent call last): File "/srv/slapgrid/slappart13/srv/testnode/dfg/soft/e2d325c0fcfb592bc760fe363ac5b17a/parts/slapos.core-repository/slapos/testing/testcase.py", line 168, in setUpModule installSoftwareUrlList(cls, [software_url], debug=debug) File "/srv/slapgrid/slappart13/srv/testnode/dfg/soft/e2d325c0fcfb592bc760fe363ac5b17a/parts/slapos.core-repository/slapos/testing/testcase.py", line 378, in installSoftwareUrlList checkSoftware(cls.slap, software_url) File "/srv/slapgrid/slappart13/srv/testnode/dfg/soft/e2d325c0fcfb592bc760fe363ac5b17a/parts/slapos.core-repository/slapos/testing/testcase.py", line 336, in checkSoftware raise RuntimeError('\n'.join(error_list)) RuntimeError: /srv/slapgrid/slappart13/srv/testnode/dfg/inst/test0-0/tmp/shared/mariadb/46cf3950f79675ddccafc1c99a13e734/bin/mysql_ldb has some not found libraries: /srv/slapgrid/slappart13/srv/testnode/dfg/inst/test0-0/tmp/shared/mariadb/46cf3950f79675ddccafc1c99a13e734/bin/mysql_ldb: /usr/lib/x86_64-linux-gnu/libstdc++.so.6: version `CXXABI_1.3.11' not found (required by /srv/slapgrid/slappart13/srv/testnode/dfg/inst/test0-0/tmp/shared/mariadb/46cf3950f79675ddccafc1c99a13e734/bin/mysql_ldb) /srv/slapgrid/slappart13/srv/testnode/dfg/inst/test0-0/tmp/shared/mariadb/46cf3950f79675ddccafc1c99a13e734/bin/sst_dump has some not found libraries: /srv/slapgrid/slappart13/srv/testnode/dfg/inst/test0-0/tmp/shared/mariadb/46cf3950f79675ddccafc1c99a13e734/bin/sst_dump: /usr/lib/x86_64-linux-gnu/libstdc++.so.6: version `CXXABI_1.3.11' not found (required by /srv/slapgrid/slappart13/srv/testnode/dfg/inst/test0-0/tmp/shared/mariadb/46cf3950f79675ddccafc1c99a13e734/bin/sst_dump) --- component/gcc/buildout.cfg | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/component/gcc/buildout.cfg b/component/gcc/buildout.cfg index d1236ec03..a52fed302 100644 --- a/component/gcc/buildout.cfg +++ b/component/gcc/buildout.cfg @@ -42,11 +42,13 @@ post-install = done cat <<EOF >ld #!/bin/sh -e - for x; do case \$x in -rpath=*) - set -- "\$@" $2 - ! break + case \$#:\$1 in 0:|1:-*) ;; *) + if [ "\$LD_RUN_PATH" ] + then LD_RUN_PATH=\$LD_RUN_PATH$1 + else set -- "\$@" $2 + fi ;; - esac; done && export LD_RUN_PATH=\$${LD_RUN_PATH:+\$LD_RUN_PATH:}$${1#:} + esac exec ${binutils:location}/bin/ld "\$@" EOF chmod +x ld -- 2.30.9