How to set a system-wide library path policy?
Tue Jun 11 19:57:00 GMT 2019
On Sun, Jun 9, 2019 at 5:34 PM Jeffrey Walton <firstname.lastname@example.org> wrote:
> On Fri, Jun 7, 2019 at 4:46 PM Carlos O'Donell <email@example.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
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.
More information about the Binutils