setting LIBDIR_IN_LDCONFIG fails if /lib is a symlink to /usr/lib

David Bremner david at tethera.net
Sat May 26 15:23:24 PDT 2018


On my laptop, /lib is a symlink to to /usr/lib (this might or might not
be a good idea, but is likely to become increasingly common if some
people get their way).

$ /sbin/ldconfig -NX -v | grep -v ^$'\t'

yields

        /sbin/ldconfig: Can't stat /usr/local/lib/x86_64-linux-gnu: No such file or directory
        /sbin/ldconfig: Path `/usr/lib/x86_64-linux-gnu' given more than once
        /sbin/ldconfig: Path `/lib/x86_64-linux-gnu' given more than once
        /sbin/ldconfig: Path `/usr/lib/x86_64-linux-gnu' given more than once
        /sbin/ldconfig: Path `/usr/lib' given more than once
        /usr/lib/x86_64-linux-gnu/libfakeroot:
        /usr/local/lib:
        /lib/x86_64-linux-gnu:
        /sbin/ldconfig: /lib/x86_64-linux-gnu/ld-2.27.so is the dynamic linker, ignoring

        /lib:

with libdir=/usr/lib/x86_64-linux-gnu, our sed hackery fails, since the
directory we are looking for never appears at the beggining of a
line.

One option is to do more proccesing of the output and look for the path
in "given more than once" lines as well. Still, this is an obviously
fragile way of doing things (parsing human readable output from
ldconfig), so I wondered if anyone has some better ideas.

This informattion is used two places

1) to avoid adding an unecessary RPATH to the binary. Having such an RPATH will
cause at least Debian (and I suppose other distro) tooling to complain
loudly.

2) To know whether to run ldconfig after installing the library.


More information about the notmuch mailing list