Você não disse qual sistema operacional está usando, então vou assumir o Linux e usar o Debian como exemplo. A resposta rápida à sua pergunta não é tanto quanto eu sei. Esta pode ser uma solução útil:
ldd your_prog | awk '{print $1}' | sed 's/\..*//' |
while read n; do echo "----- $n ----"; apt-cache search ^$n; done
Isso analisará a ldd
output e, em seguida, executará apt-cache
(substitua isso pelo equivalente ao seu SO) para procurar nos repositórios por pacotes cujo nome e descrição contenham a primeira parte do nome da biblioteca retornada por ldd
.
Isso não encontrará todos eles e dará muitos resultados para alguns (como libc
), mas pode ser útil.
@FaheemMitha apontou que apt-file
pode ser o melhor caminho. Por exemplo:
ldd /bin/bash | awk '/=>/{print $(NF-1)}' |
while read n; do apt-file search $n; done |
awk '{print $1}' | sed 's/://' | sort | uniq
Isso retornará uma lista de nomes de pacotes que fornecem as bibliotecas vinculadas.