W naszym produkcie dostarczamy pliki binarne Linuksa, które dynamicznie łączą się z bibliotekami systemowymi, takimi jak „libpam”. W niektórych systemach klientów otrzymujemy następujący błąd na stderr po uruchomieniu programu:
./authpam: /lib/libpam.so.0: no version information available (required by authpam)
Aplikacja działa dobrze i wykonuje kod z biblioteki dynamicznej. Więc to nie jest błąd krytyczny, to tak naprawdę tylko ostrzeżenie.
Wydaje mi się, że to błąd pochodzi z dynamicznego konsolidatora, gdy w bibliotece zainstalowanej w systemie brakuje czegoś, czego oczekuje nasz plik wykonywalny. Nie wiem zbyt wiele o wewnętrznych elementach procesu dynamicznego linkowania ... a wyszukiwanie tego tematu w Google niewiele pomaga. :(
Czy ktoś wie, co powoduje ten błąd? ... jak mogę zdiagnozować przyczynę? ... i jak moglibyśmy zmienić nasze pliki wykonywalne, aby uniknąć tego problemu?
Aktualizacja: klient dokonał aktualizacji do najnowszej wersji „testowania” Debiana i wystąpił ten sam błąd. Więc nie jest to przestarzała biblioteka libpam. Chyba chciałbym zrozumieć, na co skarży się linker? Jak mogę zbadać przyczynę itp.?