Em nosso produto, fornecemos alguns binários do Linux que se vinculam dinamicamente às bibliotecas do sistema como "libpam". Em alguns sistemas do cliente, obtemos o seguinte erro em stderr quando o programa é executado:
./authpam: /lib/libpam.so.0: no version information available (required by authpam)
O aplicativo funciona bem e executa o código da biblioteca dinâmica. Portanto, este não é um erro fatal, é apenas um aviso.
Imagino que esse erro venha do vinculador dinâmico quando a biblioteca instalada do sistema está faltando algo que nosso executável espera. Não sei muito sobre os aspectos internos do processo de linkagem dinâmica ... e pesquisar o tópico não ajuda muito. :(
Alguém sabe o que causa esse erro? ... como posso diagnosticar a causa? ... e como poderíamos mudar nossos executáveis para evitar esse problema?
Update: O cliente atualizou para a última versão do debian "testando" e ocorreu o mesmo erro. Portanto, não é uma biblioteca libpam desatualizada. Acho que gostaria de entender do que o vinculador está reclamando. Como posso investigar a causa subjacente, etc?
Fwiw, tive esse problema ao executar check_nrpe em um sistema que tinha o sistema de monitoramento zenoss instalado. Para aumentar a confusão, funcionou bem como usuário root, mas não como usuário zenoss.
Eu descobri que o usuário zenoss tinha um LD_LIBRARY_PATH que o fazia usar bibliotecas zenoss, que emitem esses avisos. Ie:
Enfim, o que estou tentando dizer: verifique suas variáveis como LD_LIBRARY_PATH, LD_PRELOAD etc também.
fonte
Como você está compilando seu aplicativo? Quais sinalizadores de compilador?
Na minha experiência, ao direcionar o vasto domínio de sistemas Linux lá fora, construa seus pacotes na versão mais antiga que você deseja oferecer suporte e, como mais sistemas tendem a ser compatíveis com versões anteriores, seu aplicativo continuará a funcionar. Na verdade, essa é a razão para o controle de versão da biblioteca - garantindo a compatibilidade com versões anteriores.
fonte
Você já viu isso ? A causa parece ser uma libpam muito antiga em um dos lados, provavelmente naquele cliente.
Ou os links para a versão podem estar faltando: http://www.linux.org/docs/ldp/howto/Program-Library-HOWTO/shared-libraries.html
fonte