Eu não diria "inaceitável", mas é definitivamente incomum para um binário procurar uma biblioteca compartilhada sob o nome *.so
simples em tempo de execução. Geralmente:
- O vinculador (tempo de criação) procura bibliotecas com nomes correspondentes a
*.so
- Se encontrado, o vinculador consultará o campo SONAME da biblioteca para descobrir o nome que a biblioteca deve estar localizada como no tempo de execução
- Ele registra esse nome dentro do binário construído para que ele se torne o que procura no tempo de execução.
O propósito desta convenção é para que o binário possa ser vinculado a uma versão específica da API da biblioteca.
Talvez a biblioteca em questão não esteja usando essa convenção. Para verificar, veja se a biblioteca contém um campo SONAME:
objdump -p /lib/'arch'-linux-gnu/libthing.so | fgrep SONAME
Se não existir SONAME, os binários vinculados a essa biblioteca usarão como padrão o nome sob o qual a biblioteca foi localizada no momento da criação (que é *.so
). Isso pode ser o que você está vendo. Se um SONAME existir, os binários vinculados a essa biblioteca devem estar usando esse nome em tempo de execução.