Dalam produk kami, kami mengirimkan beberapa binari linux yang secara dinamis terhubung ke pustaka sistem seperti "libpam". Pada beberapa sistem pelanggan kami mendapatkan kesalahan berikut pada stderr saat program berjalan:
./authpam: /lib/libpam.so.0: no version information available (required by authpam)
Aplikasi berjalan dengan baik dan menjalankan kode dari pustaka dinamis. Jadi ini bukan kesalahan fatal, ini hanya peringatan.
Saya pikir ini adalah kesalahan yang berasal dari linker dinamis ketika perpustakaan yang diinstal sistem kehilangan sesuatu yang diharapkan dapat dieksekusi. Saya tidak tahu banyak tentang internal dari proses penautan dinamis ... dan mencari topik di Google tidak banyak membantu. :(
Adakah yang tahu apa yang menyebabkan kesalahan ini? ... bagaimana saya bisa mendiagnosis penyebabnya? ... dan bagaimana kita dapat mengubah file yang dapat dieksekusi untuk menghindari masalah ini?
Pembaruan: Pelanggan meningkatkan ke versi terbaru dari "pengujian" debian dan kesalahan yang sama terjadi. Jadi ini bukan perpustakaan libpam yang ketinggalan zaman. Saya rasa saya ingin memahami apa yang dikeluhkan oleh linker? Bagaimana saya bisa menyelidiki penyebab yang mendasari, dll?
Fwiw, saya mengalami masalah ini saat menjalankan check_nrpe pada sistem yang menginstal sistem pemantauan zenoss. Untuk menambah kebingungan, ini berfungsi dengan baik sebagai pengguna root tetapi tidak sebagai pengguna zenoss.
Saya menemukan bahwa pengguna zenoss memiliki LD_LIBRARY_PATH yang menyebabkannya menggunakan pustaka zenoss, yang mengeluarkan peringatan ini. Yaitu:
Jadi, apa yang ingin saya katakan: periksa variabel Anda seperti LD_LIBRARY_PATH, LD_PRELOAD dll juga.
sumber
Bagaimana Anda menyusun aplikasi Anda? Bendera kompiler apa?
Dalam pengalaman saya, ketika menargetkan ranah luas sistem Linux di luar sana, buat paket Anda pada versi terlama yang ingin Anda dukung, dan karena lebih banyak sistem cenderung kompatibel ke belakang, aplikasi Anda akan terus berfungsi. Sebenarnya ini adalah seluruh alasan untuk versi perpustakaan - memastikan kompatibilitas ke belakang.
sumber
Sudahkah kau melihat ini ? Penyebabnya tampaknya libpam yang sangat tua di salah satu sisi, mungkin pada pelanggan itu.
Atau tautan untuk versi tersebut mungkin hilang: http://www.linux.org/docs/ldp/howto/Program-Library-HOWTO/shared-libraries.html
sumber