On Mon, 13 Feb 2023 11:45:57 +0300
Greg Minshall <[email protected]> wrote:
> hi. after doing this `pacman -Syu base-devel` (and re-booting), a number of
> executables can't find some (out dated?) dynamic libraries.
>
> below are two lists:
> - one shows the affected binaries;
> - the other, just the list of un-found dynamic libraries.
>
> any thoughts? (sorry for e-mail formatting; my editor/e-mail program of
> choice is among the victims! :) (and, sorry for spurious sending to announce
> list; presumably that was squashed.)
>
> cheers, Greg
>
> bash archlinux (master): {49544} find /bin/ -type f -perm /a+x -print -exec
> ldd {} \; 2>&1 | awk 'NF == 1 { bin=$1; next } {print bin " ", $0}' | grep
> "not found" /bin/bggen libtiff.so.5 => not found /bin/bggen
> libjasper.so.6 => not found /bin/hb-view libchafa.so.0 => not found
> /bin/tiffdiff libtiff.so.5 => not found
> /bin/links libtiff.so.5 => not found
> /bin/xv libtiff.so.5 => not found
> /bin/xv libjasper.so.6 => not found
> /bin/dec265 libSDL-1.2.so.0 => not found
> /bin/emacs-28.1.91 libtiff.so.5 => not found
> /bin/r libopenblas.so.3 => not found
> /bin/tifficc libtiff.so.5 => not found
> /bin/makemhr libmysofa.so.1 => not found
> /bin/system76-firmware-cli libssl.so.1.1 => not found
> /bin/system76-firmware-cli libcrypto.so.1.1 => not found
> /bin/sensord librrd.so.8 => not found
> /bin/xcmap libtiff.so.5 => not found
> /bin/xcmap libjasper.so.6 => not found
> /bin/mpeg2dec libSDL-1.2.so.0 => not found
> bash archlinux (master): {49545} find /bin/ -type f -perm /a+x -print -exec
> ldd {} \; 2>&1 | awk 'NF == 1 { bin=$1; next } {print bin " ", $0}' | grep
> "not found" | awk '{print $2}' | sort -ulibSDL-1.2.so.0 libchafa.so.0
> libcrypto.so.1.1 libjasper.so.6
> libmysofa.so.1
> libopenblas.so.3
> librrd.so.8
> libssl.so.1.1
> libtiff.so.5
>
This is a partial update issue, one way or another. Instead of using ldd, which
is recursive, check some of those binaries with lddtree from the pax-utils
package. It'll reveal where the actual problems are. If you want to check in a
script, you need to be using something like objdump or readelf that will show
you just what the binary is linked to, not everything in the entire tree.