Se você tiver um executável e quiser ver onde ele está pegando as bibliotecas, execute
ldd /path/to/executable
Isso será responsável pelas bibliotecas no caminho de pesquisa padrão, bem como nas bibliotecas do rpath desse executável, se houver.
No Linux, os caminhos para as bibliotecas do sistema são armazenados em cache para maior eficiência. /sbin/ldconfig -p
exibe o conteúdo do cache (é armazenado em /etc/ld.so.cache
). Aqui está um script que mostra a localização de uma biblioteca:
#!/bin/sh
if [ -n "$LD_LIBRARY_PATH" ]; then
set -f
IFS=:
for d in $LD_LIBRARY_PATH; do
if [ -e "$d/$1" ]; then echo "$1"; fi
done
fi
/sbin/ldconfig -p |
awk -v needle="$1" '$1 == needle {sub(/.* => /, ""); print}'