This is the mail archive of the binutils@sourceware.org mailing list for the binutils project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: How to set a system-wide library path policy?


On Sun, Jun 9, 2019 at 5:34 PM Jeffrey Walton <noloader@gmail.com> wrote:
>
> On Fri, Jun 7, 2019 at 4:46 PM Carlos O'Donell <carlos@redhat.com> wrote:
> >
> > On 6/7/19 10:53 AM, Jeffrey Walton wrote:
> > > I'm having trouble figuring out how to setup library path policy on Fedora 29.
> >
> > The system loader is in glibc. Adding libc-help to the CC.
> >
> > > I need to articulate to the system loader:
> > >
> > > 1. programs in /bin must only link to libs in /lib64
> > > 2. programs in /usr/bin must only link to libs in /usr/lib64
> > > 3. programs in /usr/local/bin may use libraries in /usr/local/lib64 or
> > > /usr/lib64
> >
> > OK.
> >
> > > As far as I know, the distro supplies (1) and (2). They know nothing
> > > about my libraries in /usr/local. When the distro is ready, it will
> > > push updated programs and libraries as needed. The distro binaries
> > > should not use my libraries.
> >
> > Why would your distro binaries use your libraries? Such libraries are
> > not present at static link time when they are built in the Feodra builders.
> >
> > The only reason your distro libraries would be used is if you used
> > LD_LIBRARY_PATH that pointed to them, in which case you would be altering
> > the global search order.
>
> Thanks Carlos,
>
> Here is a Solaris example because I'm updating Git for the 2.20.0
> release. Linux behaves the same way as Solaris, so there' no material
> difference here.
> ...

Here's a Ubuntu Bionic Aarch64 example when running apt-get. The stuff
in /usr/local was built for GnuTLS testing. Guile 2.2 was built from
sources:

Calculating upgrade... Done
The following packages will be upgraded:
  dbus dbus-x11 libdbus-1-3 libglib2.0-0 libglib2.0-data libpython2.7
  libpython2.7-minimal libpython2.7-stdlib libpython3.6 libpython3.6-minimal
  libpython3.6-stdlib libssl-dev libssl1.1 openssl python2.7 python2.7-minimal
  python3.6 python3.6-minimal vim vim-common vim-runtime vim-tiny xxd
...
Processing triggers for libc-bin (2.27-3ubuntu1) ...
/sbin/ldconfig.real: /usr/local/lib/libguile-2.2.so.1.3.1-gdb.scm is
not an ELF file - it has the wrong magic bytes at the start.
...

Jeff


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]