[Nix-dev] Re: mostly minimal Nixos built using gold ld where possible
Rohan Hart
rohan.hart17 at gmail.com
Thu Mar 18 22:09:08 CET 2010
Hi
2010/3/18 Ludovic Courtès <ludo at gnu.org>:
> Hi,
>
> Rohan Hart <rohan.hart17 at gmail.com>
> writes:
>> Many of the package level changes are due to Gold being more strict in
>> ensuring that all symbols can be found at link time. In most cases
>> I've simply added an LDFLAGS = ... entry in the derivation.
>
> Some of them are a bit surprising. For instance, AFAICS, libgcrypt does
> pass ‘-lgpg-error’ when linking (see
> <http://hydra.nixos.org/build/325591/log/raw>). Do you remember the
> details? Could it have something to do with the magic in the GCC/ld
> wrappers?
In this particular case the error is when building the tests:
building register
/bin/sh ../libtool --tag=CC --mode=link gcc
-I/nix/store/...-libgpg-error-1.7/include -g -O2 -fvisibility=hidden
-Wall -o register register.o ../src/libgcrypt.la
gcc -I/nix/store/...-libgpg-error-1.7/include -g -O2
-fvisibility=hidden -Wall -o .libs/register register.o
../src/.libs/libgcrypt.so -Wl,--rpath
-Wl,/nix/store/il7qshgcxzvnb4max9k552vkij9il6lr-libgcrypt-1.4.5/lib
/nix/store/...-binutils-2.20-gold/bin/ld: register.o: in function
check_run:register.c:121: error: undefined reference to 'gpg_strerror'
/nix/store/...-binutils-2.20-gold/bin/ld: register.o: in function
check_run:register.c:127: error: undefined reference to 'gpg_strerror'
/nix/store/...-binutils-2.20-gold/bin/ld: register.o: in function
check_run:register.c:132: error: undefined reference to 'gpg_strerror'
collect2: ld returned 1 exit status
make[2]: *** [register] Error 1
make[2]: Leaving directory
`/tmp/nix-build-...-libgcrypt-1.4.5.drv-0/libgcrypt-1.4.5/tests'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory
`/tmp/nix-build-...-libgcrypt-1.4.5.drv-0/libgcrypt-1.4.5'
make: *** [all] Error 2
Given that someone's built all of Debian with Gold I'm surprised that
the upstream packages haven't started to configure themselves
correctly. More bug reports to file.
>> If a hydra branch of nixpkgs was created I'd be happy to (slowly) fix
>> packages till there's a stable build. In the mean time I'd like to be
>> able to use Nixos without multi-day compile delays ;-)
>
> I second your request and invite you to create a branch for this!
I assume that would require a subversion branch? And a separate channel?
> One nitpick:
>
> Instead of ‘binutilsOld’ and ‘gccOld’, which aren’t very descriptive,
> how about ‘binutilsGold’ and ‘gccGold’?
Since I made Gold the default I wanted to call that derivation simply
binutils as that lets inherit work as normal. A better name for the
non-Gold binutils is needed. binutilsNonGold isn't much better. Any
suggestions?
cheers
Rohan
More information about the nix-dev
mailing list