From mboxrd@z Thu Jan 1 00:00:00 1970 From: Mathieu Lirzin Subject: bug#30395: =?UTF-8?Q?=E2=80=98gcc=E2=80=99?= doesn't compile with LD_LIBRARY_PATH="$HOME/.guix-profile/lib" Date: Fri, 16 Feb 2018 13:01:21 +0100 Message-ID: <87mv09gn3i.fsf@gnu.org> References: <87vaf72y9w.fsf@gnu.org> <87k1vdqm09.fsf@gnu.org> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:37916) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1emeiL-00084h-DC for bug-guix@gnu.org; Fri, 16 Feb 2018 07:02:06 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1emeiI-0000oY-Ne for bug-guix@gnu.org; Fri, 16 Feb 2018 07:02:04 -0500 Received: from debbugs.gnu.org ([208.118.235.43]:37856) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1emeiI-0000oN-JJ for bug-guix@gnu.org; Fri, 16 Feb 2018 07:02:02 -0500 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1emeiI-0005Mi-60 for bug-guix@gnu.org; Fri, 16 Feb 2018 07:02:02 -0500 Sender: "Debbugs-submit" Resent-Message-ID: In-Reply-To: <87k1vdqm09.fsf@gnu.org> ("Ludovic \=\?utf-8\?Q\?Court\=C3\=A8s\=22'\?\= \=\?utf-8\?Q\?s\?\= message of "Fri, 16 Feb 2018 11:14:46 +0100") List-Id: Bug reports for GNU Guix List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-guix-bounces+gcggb-bug-guix=m.gmane.org@gnu.org Sender: "bug-Guix" To: Ludovic =?UTF-8?Q?Court=C3=A8s?= Cc: 30395@debbugs.gnu.org Hi Ludo, ludo@gnu.org (Ludovic Court=C3=A8s) writes: > Mathieu Lirzin skribis: > >> I have been facing a weird issue where some shitty build tool I was >> using has tried to run =E2=80=98cmake=E2=80=99 after setting LD_LIBRARY_= PATH. The >> result was a non terminating call to =E2=80=98collect2=E2=80=99. >> >> Here is a way to reproduce the issue: >> >> $ guix environment --pure --ad-hoc gcc-toolchain >> $ echo "int main() { return 0; }" > foo.c >> $ LD_LIBRARY_PATH=3D"$HOME/.guix-profile/lib" gcc foo.c > > That works for me (i.e., =E2=80=98gcc=E2=80=99 runs to completion just fi= ne.) > > But I suppose this depends on what=E2=80=99s in ~/.guix-profile/lib. If = you > have a conflicting GCC version there (which is not the case for me), it > could break. Interesting. :-) > Could you run the snippet you provided above with =E2=80=98--verbose=E2= =80=99 passed to > =E2=80=98gcc=E2=80=99? That will allow us to see what libraries and tool= s it picks up. Here it is --8<---------------cut here---------------start------------->8--- mthl@godel ~ [env]$ LD_LIBRARY_PATH=3D"$HOME/.guix-profile/lib" gcc --verbo= se foo.c Using built-in specs. COLLECT_GCC=3Dgcc COLLECT_LTO_WRAPPER=3D/gnu/store/xjpchnxm9fgg05fqm9apyhqlqd5q5js8-gcc-7.3.0= /libexec/gcc/x86_64-unknown-linux-gnu/7.3.0/lto-wrapper Target: x86_64-unknown-linux-gnu Configured with:=20 Thread model: posix gcc version 7.3.0 (GCC)=20 COLLECT_GCC_OPTIONS=3D'-v' '-mtune=3Dgeneric' '-march=3Dx86-64' /gnu/store/xjpchnxm9fgg05fqm9apyhqlqd5q5js8-gcc-7.3.0/libexec/gcc/x86_64-u= nknown-linux-gnu/7.3.0/cc1 -quiet -v foo.c -quiet -dumpbase foo.c -mtune=3D= generic -march=3Dx86-64 -auxbase foo -version -o /tmp/ccU8U3nt.s GNU C11 (GCC) version 7.3.0 (x86_64-unknown-linux-gnu) compiled by GNU C version 7.3.0, GMP version 6.1.2, MPFR version 3.1.5, MP= C version 1.0.3, isl version isl-0.18-GMP GGC heuristics: --param ggc-min-expand=3D100 --param ggc-min-heapsize=3D131= 072 ignoring nonexistent directory "/no-gcc-local-prefix/include" ignoring nonexistent directory "/gnu/store/45rhjm5ryms10frcyrzcdp9yk4al4lnq= -gcc-7.3.0-lib/lib/gcc/x86_64-unknown-linux-gnu/7.3.0/../../../../../../../= x86_64-unknown-linux-gnu/include" #include "..." search starts here: #include <...> search starts here: /gnu/store/9nxcfpfyrcz3aifwg55nls92sa3rhzs2-profile/include /gnu/store/45rhjm5ryms10frcyrzcdp9yk4al4lnq-gcc-7.3.0-lib/lib/gcc/x86_64-u= nknown-linux-gnu/7.3.0/include /gnu/store/45rhjm5ryms10frcyrzcdp9yk4al4lnq-gcc-7.3.0-lib/lib/gcc/x86_64-u= nknown-linux-gnu/7.3.0/include-fixed /gnu/store/3h31zsqxjjg52da5gp3qmhkh4x8klhah-glibc-2.25/include End of search list. GNU C11 (GCC) version 7.3.0 (x86_64-unknown-linux-gnu) compiled by GNU C version 7.3.0, GMP version 6.1.2, MPFR version 3.1.5, MP= C version 1.0.3, isl version isl-0.18-GMP GGC heuristics: --param ggc-min-expand=3D100 --param ggc-min-heapsize=3D131= 072 Compiler executable checksum: 54a938749d3b2f496e537dee0d578856 COLLECT_GCC_OPTIONS=3D'-v' '-mtune=3Dgeneric' '-march=3Dx86-64' as -v --64 -o /tmp/ccRLpf89.o /tmp/ccU8U3nt.s GNU assembler version 2.28.1 (x86_64-unknown-linux-gnu) using BFD version (= GNU Binutils) 2.28.1 COMPILER_PATH=3D/gnu/store/xjpchnxm9fgg05fqm9apyhqlqd5q5js8-gcc-7.3.0/libex= ec/gcc/x86_64-unknown-linux-gnu/7.3.0/:/gnu/store/xjpchnxm9fgg05fqm9apyhqlq= d5q5js8-gcc-7.3.0/libexec/gcc/x86_64-unknown-linux-gnu/7.3.0/:/gnu/store/xj= pchnxm9fgg05fqm9apyhqlqd5q5js8-gcc-7.3.0/libexec/gcc/x86_64-unknown-linux-g= nu/:/gnu/store/45rhjm5ryms10frcyrzcdp9yk4al4lnq-gcc-7.3.0-lib/lib/gcc/x86_6= 4-unknown-linux-gnu/7.3.0/:/gnu/store/45rhjm5ryms10frcyrzcdp9yk4al4lnq-gcc-= 7.3.0-lib/lib/gcc/x86_64-unknown-linux-gnu/ LIBRARY_PATH=3D/gnu/store/9nxcfpfyrcz3aifwg55nls92sa3rhzs2-profile/lib/:/gn= u/store/45rhjm5ryms10frcyrzcdp9yk4al4lnq-gcc-7.3.0-lib/lib/gcc/x86_64-unkno= wn-linux-gnu/7.3.0/:/gnu/store/45rhjm5ryms10frcyrzcdp9yk4al4lnq-gcc-7.3.0-l= ib/lib/gcc/x86_64-unknown-linux-gnu/7.3.0/../../../:/gnu/store/3h31zsqxjjg5= 2da5gp3qmhkh4x8klhah-glibc-2.25/lib COLLECT_GCC_OPTIONS=3D'-v' '-mtune=3Dgeneric' '-march=3Dx86-64' /gnu/store/xjpchnxm9fgg05fqm9apyhqlqd5q5js8-gcc-7.3.0/libexec/gcc/x86_64-u= nknown-linux-gnu/7.3.0/collect2 -plugin /gnu/store/xjpchnxm9fgg05fqm9apyhql= qd5q5js8-gcc-7.3.0/libexec/gcc/x86_64-unknown-linux-gnu/7.3.0/liblto_plugin= .so -plugin-opt=3D/gnu/store/xjpchnxm9fgg05fqm9apyhqlqd5q5js8-gcc-7.3.0/lib= exec/gcc/x86_64-unknown-linux-gnu/7.3.0/lto-wrapper -plugin-opt=3D-fresolut= ion=3D/tmp/ccKVXTVQ.res -plugin-opt=3D-pass-through=3D-lgcc -plugin-opt=3D-= pass-through=3D-lgcc_s -plugin-opt=3D-pass-through=3D-lgcc_s -plugin-opt=3D= -pass-through=3D-lc -plugin-opt=3D-pass-through=3D-lgcc -plugin-opt=3D-pass= -through=3D-lgcc_s --eh-frame-hdr -m elf_x86_64 -dynamic-linker /gnu/store/= 3h31zsqxjjg52da5gp3qmhkh4x8klhah-glibc-2.25/lib/ld-linux-x86-64.so.2 /gnu/s= tore/9nxcfpfyrcz3aifwg55nls92sa3rhzs2-profile/lib/crt1.o /gnu/store/9nxcfpf= yrcz3aifwg55nls92sa3rhzs2-profile/lib/crti.o /gnu/store/45rhjm5ryms10frcyrz= cdp9yk4al4lnq-gcc-7.3.0-lib/lib/gcc/x86_64-unknown-linux-gnu/7.3.0/crtbegin= .o -L/gnu/store/9nxcfpfyrcz3aifwg55nls92sa3rhzs2-profile/lib -L/gnu/store/4= 5rhjm5ryms10frcyrzcdp9yk4al4lnq-gcc-7.3.0-lib/lib/gcc/x86_64-unknown-linux-= gnu/7.3.0 -L/gnu/store/45rhjm5ryms10frcyrzcdp9yk4al4lnq-gcc-7.3.0-lib/lib/g= cc/x86_64-unknown-linux-gnu/7.3.0/../../.. -L/gnu/store/3h31zsqxjjg52da5gp3= qmhkh4x8klhah-glibc-2.25/lib /tmp/ccRLpf89.o -lgcc --as-needed -lgcc_s --no= -as-needed -L/gnu/store/3h31zsqxjjg52da5gp3qmhkh4x8klhah-glibc-2.25/lib -rp= ath=3D/gnu/store/3h31zsqxjjg52da5gp3qmhkh4x8klhah-glibc-2.25/lib -rpath=3D/= gnu/store/45rhjm5ryms10frcyrzcdp9yk4al4lnq-gcc-7.3.0-lib/lib -lgcc_s -lc -l= gcc --as-needed -lgcc_s --no-as-needed /gnu/store/45rhjm5ryms10frcyrzcdp9yk= 4al4lnq-gcc-7.3.0-lib/lib/gcc/x86_64-unknown-linux-gnu/7.3.0/crtend.o /gnu/= store/9nxcfpfyrcz3aifwg55nls92sa3rhzs2-profile/lib/crtn.o --8<---------------cut here---------------end--------------->8--- >> When adding =E2=80=98binutils=E2=80=99 to the environment, the problem d= issapears since >> =E2=80=98ld-wrapper=E2=80=99 is not used anymore. > > What makes you think =E2=80=98ld-wrapper=E2=80=99 is involved? GCC is waiting on =E2=80=98collect2=E2=80=99 to finish and =E2=80=98collect= 2=E2=80=99 according to [1] tries to find =E2=80=98ld=E2=80=99. When =E2=80=98ld=E2=80=99 is provided = by Binutils the program completes but not with =E2=80=98ld-wrapper=E2=80=99 on my machine, so I sus= pect this is related to =E2=80=98ld-wrapper=E2=80=99, but maybe this is just a symptom o= f something else. Thanks. [1] https://gcc.gnu.org/onlinedocs/gccint/Collect2.html --=20 Mathieu Lirzin GPG: F2A3 8D7E EB2B 6640 5761 070D 0ADE E100 9460 4D37