From: Eric Le Bihan <eric.le.bihan.dev@free.fr>
To: buildroot@busybox.net
Subject: [Buildroot] Allowing user to run ldconfig in post-build script
Date: Thu, 16 Jun 2016 23:15:51 +0200 [thread overview]
Message-ID: <20160616231551.6dec189b@itchy> (raw)
In-Reply-To: <20160616222854.6b20890a@free-electrons.com>
Le Thu, 16 Jun 2016 22:28:54 +0200,
Thomas Petazzoni <thomas.petazzoni@free-electrons.com> a ?crit :
> On Thu, 16 Jun 2016 21:45:22 +0200, Eric Le Bihan wrote:
>
> > > > Not being able to run ldconfig and generate the ld.so cache has
> > > > two drawbacks:
> > > >
> > > > - it prevents the user from installing some libraries in other
> > > > locations than /lib and /usr/lib (e.g. /opt/foo/lib). This can
> > > > be solved with symlinks, though.
> > >
> > > Does the dynamic linker uses /etc/ld.so.conf at runtime to find
> > > other libraries, even if there is no /etc/ld.so.cache? If that's
> > > the case, then our check for ld.so.conf being absent is somewhat
> > > wrong, as it would be valid to have, independently of whether
> > > ldconfig has created ld.so.cache or not.
> >
> > Inspecting the glibc source code shows that:
> >
> > - /etc/ld.so.conf is only read by ldconfig (see elf/ldconfig.c).
> > - /etc/ld.so.cache is only read by the dynamic loader (see
> > elf/dl-cache.c).
>
> OK.
>
> > This is confirmed when using strace. So, IMHO, this sanity check is
> > of no use.
>
> If what you say above is true, then your conclusion is completely
> wrong: the sanity check is *absolutely* mandatory.
>
> Since Buildroot does *NOT* generate ld.so.cache, and ld.so.conf is not
> read by the dynamic loader, having a ld.so.conf in a Buildroot
> filesystem is a mistake, as the user might thing that the dynamic
> linker will search in the directories listed in ld.so.conf, but it is
> not true: the dynamic linker only searches in the libraries referenced
> in ld.so.cache, and ignores ld.so.conf.
OK. So the check is needed to get a clean target root file system,
devoid of files which may mislead the user. However, it makes sense to
provide a configuration entry to disable it, for the ld.so-savvy users
who want to create the cache on their own, no?
--
ELB
next prev parent reply other threads:[~2016-06-16 21:15 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <1722059483.342813959.1466082436418.JavaMail.root@zimbra32-e6.priv.proxad.net>
2016-06-16 13:12 ` [Buildroot] Allowing user to run ldconfig in post-build script Eric Le Bihan
2016-06-16 13:37 ` Thomas Petazzoni
2016-06-16 19:45 ` Eric Le Bihan
2016-06-16 20:28 ` Thomas Petazzoni
2016-06-16 20:34 ` Yann E. MORIN
2016-06-16 21:15 ` Eric Le Bihan [this message]
2016-06-23 22:22 ` Arnout Vandecappelle
2016-06-16 19:53 ` Yann E. MORIN
2016-06-16 20:34 ` Thomas Petazzoni
2016-06-16 21:32 ` Eric Le Bihan
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20160616231551.6dec189b@itchy \
--to=eric.le.bihan.dev@free.fr \
--cc=buildroot@busybox.net \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.