Subject: Re: bug#20102: Problem with ld.so RUNPATH on armhf

From: Mark H Weaver <[email-masked]>
Date: Sat, 13 Jun 2015 11:12:45 -0400

In March 2015, Mark H Weaver <[email-masked]> wrote:

> I recently tried rebuilding Guix on armhf, specifically master since the
> recent core-updates merge, and have run into a snag.  I'm able to build
> a lot of stuff, including our full 'emacs' package (with Gtk+), but I'm
> unable to build 'glibc-utf8-locales', which means I can't build any
> profiles at all, because the ca-certificates-bundle uses
> glibc-utf8-locales.
>
> Here's what happens when I try to build 'glibc-utf8-locales' manually:
>
> mhw@novena:~$ guix build -K glibc-utf8-locales
> The following derivation will be built:
>    /gnu/store/14kf28i9qkzrdjn5m150zk6dxijssk2k-glibc-utf8-locales-2.21.drv
> warning: failed to install locale: Invalid argument
> @ build-started /gnu/store/14kf28i9qkzrdjn5m150zk6dxijssk2k-glibc-utf8-locales-2.21.drv - armhf-linux /var/log/guix/drvs/14//kf28i9qkzrdjn5m150zk6dxijssk2k-glibc-utf8-locales-2.21.drv.bz2
> Inconsistency detected by ld.so: get-dynamic-info.h: 142: elf_get_dynamic_info: Assertion `info[29] == ((void *)0)' failed!
> note: keeping build directory `/tmp/nix-build-glibc-utf8-locales-2.21.drv-0'
> builder for `/gnu/store/14kf28i9qkzrdjn5m150zk6dxijssk2k-glibc-utf8-locales-2.21.drv' failed with exit code 1
> @ build-failed /gnu/store/14kf28i9qkzrdjn5m150zk6dxijssk2k-glibc-utf8-locales-2.21.drv - 1 builder for `/gnu/store/14kf28i9qkzrdjn5m150zk6dxijssk2k-glibc-utf8-locales-2.21.drv' failed with exit code 1
> killing process 1498
> guix build: error: build failed: build of `/gnu/store/14kf28i9qkzrdjn5m150zk6dxijssk2k-glibc-utf8-locales-2.21.drv' failed
>
> The key line being:
>
> Inconsistency detected by ld.so: get-dynamic-info.h: 142: elf_get_dynamic_info: Assertion `info[29] == ((void *)0)' failed!

The same problem has resurfaced on armhf on the current core-updates
branch.  More precisely, this is a merge of core-updates (16cae79),
master (1e44cf8), and openssl-update (0515580).

There's one difference: I can successfully run "guix build -K
glibc-utf8-locales", but if I try to build any profile, it fails while
building another package named "glibc-utf8-locales", with precisely the
same error message above.  Otherwise, I managed to build every package
in my profile, which includes some substantial software.

I'm surprised because I thought we already fixed this in two redundant
ways: by improving 'ld-wrapper' to avoid adding an '-rpath' for ld.so,
and by patching gcc.  I would have expected at least one of those fixes
to take care of this.

Should I open a new ticket for this, or should we reuse this ticket?
For now, I unarchived and reopened this bug.

     Thanks,
       Mark