Mark H Weaver <[email protected]> skribis: > [email protected] (Ludovic Courtès) writes: > >> Mark H Weaver <[email protected]> skribis: >> >>> As a Guile developer, I'm in the habit of building Guile from git, and >>> occasionally installing that version with --prefix=/usr. >>> >>> As a Guix enthusiast, I've recently been experimenting with building >>> Guile from git, with my environment variables set to attempt to use only >>> things from Guix: >> >> I’ve been doing something similar. >> >>> I just tried "make install", as root, with these same environment >>> variable settings (but with HOME=/home/mhw). It failed in the middle. >>> Here's the tail of the log: >>> >>> make[2]: Entering directory `/home/mhw/guile/guile-readline' >>> make install-am >>> make[3]: Entering directory `/home/mhw/guile/guile-readline' >>> make[4]: Entering directory `/home/mhw/guile/guile-readline' >>> /home/mhw/.guix-profile/bin/mkdir -p '/usr/lib' >>> /bin/bash ../libtool --mode=install /home/mhw/.guix-profile/bin/install >>> -c libguilereadline-v-18.la '/usr/lib' >>> libtool: install: warning: relinking `libguilereadline-v-18.la' >>> libtool: install: (cd /home/mhw/guile/guile-readline; /bin/bash >>> /home/mhw/guile/libtool --silent --tag CC --mode=relink gcc -Wall >>> -Wmissing-prototypes -Wdeclaration-after-statement -Wpointer-arith >>> -Wswitch-enum -fno-strict-aliasing >>> -I/nix/store/a9j9bl7m73rhlal9z83z3wbl9m17di4i-libgc-7.4.0/include -g >>> -O2 -version-info 18:0:0 -export-dynamic -no-undefined -o >>> libguilereadline-v-18.la -rpath /usr/lib readline.lo -lreadline >>> -lncurses ../libguile/libguile-2.0.la ../lib/libgnu.la -lcrypt -lm ) >>> libtool: relink: warning: `/home/mhw/.guix-profile/lib/libunistring.la' >>> seems to be moved >>> libtool: relink: warning: `/home/mhw/.guix-profile/lib/libgmp.la' seems to >>> be moved >>> libtool: relink: warning: `/home/mhw/.guix-profile/lib/libltdl.la' seems to >>> be moved >>> /usr/lib/libgc.so: could not read symbols: File in wrong format >>> collect2: error: ld returned 1 exit status >> >> Here it’s trying to use the “wrong” libgc, which is itself possibly >> linked with a different libc. >> >> Can you try installing libgc from Guix, and make sure it’s the one >> that’s picked up when building Guile? > > I already had libgc from Guix, and indeed it was the one picked up by > Guile. The problem seems to be limited to guile-readline. > > I guess the problem might be related to an "-rpath /usr/lib" that ends > up in 'relink_command' in guile-readline/libguilereadline-v-18.la:
It may be that if you’re installing to /usr/lib, then it’ll also want to pick things up from there (that only happens on relink though, that is, upon “make install.”) [...] > Also possibly relevant: I don't have LD_LIBRARY_PATH set. Should I? No. Ludo’.
