GNU bug report logs - #41189
[PATCH 0/3] Add Fakechroot engine for 'guix pack -RR'

Previous Next

Package: guix-patches;

Reported by: Ludovic Courtès <ludo <at> gnu.org>

Date: Mon, 11 May 2020 17:07:01 UTC

Severity: normal

Tags: patch

Done: Ludovic Courtès <ludo <at> gnu.org>

Bug is archived. No further changes may be made.

Full log


Message #23 received at 41189 <at> debbugs.gnu.org (full text, mbox):

From: Carlos O'Donell <carlos <at> redhat.com>
To: Ludovic Courtès <ludovic.courtes <at> inria.fr>
Cc: 41189 <at> debbugs.gnu.org
Subject: Re: [bug#41189] [PATCH 0/3] Add Fakechroot engine for 'guix pack -RR'
Date: Tue, 12 May 2020 08:09:53 -0400
On 5/12/20 6:03 AM, Ludovic Courtès wrote:
> One thing that won’t work is dlopen because our ‘--library-path’
> argument is computed statically based on the RUNPATH of the wrapped
> program.  So for instance if you try to load guile-readline.so from
> Guile, it eventually fails because libreadline.so isn’t found
> (libreadline.so is in the RUNPATH of guile-readline.so, but the loader
> uses non-interposable calls here as well.)  Probably no simple solution
> to that one.

There is a simple solution. You need to write a dynamic loader audit module
that handles la_objsearch() and inject your lookup path. See man 7 rtld-audit.
The dynamic loader audit modules allow you to alter the loader's core behaviour
with a plugin.

-- 
Cheers,
Carlos.





This bug report was last modified 5 years and 12 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.