В нашем продукте мы поставляем некоторые двоичные файлы Linux, которые динамично связываются с системными библиотеками как "libpam". В некоторых потребительских системах мы получаем следующую ошибку на stderr когда прогоны программы:
./authpam: /lib/libpam.so.0: no version information available (required by authpam)
Прекрасное выполнение приложения и выполняет код из динамической библиотеки. Таким образом, это не фатальная ошибка, это - действительно просто предупреждение.
Я полагаю, что это - ошибка, прибывает от динамического компоновщика, когда установленная библиотека системы пропустит что-то, что наш исполняемый файл ожидает. Я не знаю много о внутренностях процесса динамического подключения..., и гугление темы не помогает многому.: (
Кто-либо знает то, что вызывает эту ошибку?..., как я могу диагностировать причину?... и как мы могли изменить наши исполняемые файлы для предотвращения этой проблемы?
Обновление: клиент обновил до последней версии debian "тестирование", и та же ошибка произошла. Таким образом, это не устаревшее libpam библиотека. Я предполагаю, что хотел бы понять то, на что жалуется компоновщик? Как я могу исследовать первопричину и т.д.?
Fwiw, у меня была эта проблема при запуске check_nrpe в системе с установленной системой мониторинга zenoss. Чтобы усугубить путаницу, он отлично работал как пользователь root, но не как пользователь zenoss.
Я обнаружил, что у пользователя zenoss была LD_LIBRARY_PATH, из-за которой он использовал библиотеки zenoss, которые выдают эти предупреждения. То есть:
root@monitoring:$ echo $LD_LIBRARY_PATH
su - zenoss
zenoss@monitoring:/root$ echo $LD_LIBRARY_PATH
/usr/local/zenoss/python/lib:/usr/local/zenoss/mysql/lib:/usr/local/zenoss/zenoss/lib:/usr/local/zenoss/common/lib::
zenoss@monitoring:/root$ /usr/lib/nagios/plugins/check_nrpe -H 192.168.61.61 -p 6969 -c check_mq
/usr/lib/nagios/plugins/check_nrpe: /usr/local/zenoss/common/lib/libcrypto.so.0.9.8: no version information available (required by /usr/lib/libssl.so.0.9.8)
(...)
zenoss@monitoring:/root$ LD_LIBRARY_PATH= /usr/lib/nagios/plugins/check_nrpe -H 192.168.61.61 -p 6969 -c check_mq
(...)
Так или иначе, что я пытаюсь сказать: проверьте также свои переменные, такие как LD_LIBRARY_PATH, LD_PRELOAD и т. Д.