GNU/Linux >> Belajar Linux >  >> Linux

Cari tahu apakah perpustakaan ada di jalur

ldconfig dapat mencantumkan semua pustaka yang dapat diaksesnya. Pustaka ini juga disimpan dalam cache-nya.

/sbin/ldconfig -v -N akan merayapi semua jalur pustaka yang biasa, mencantumkan semua pustaka yang tersedia, tanpa merekonstruksi cache (yang tidak mungkin dilakukan jika Anda adalah pengguna non-root). Itu TIDAK memperhitungkan perpustakaan akun di LD_LIBRARY_PATH (berlawanan dengan apa yang dikatakan posting ini sebelum diedit) tetapi Anda dapat meneruskan perpustakaan tambahan ke baris perintah dengan menggunakan baris di bawah ini:

/sbin/ldconfig -N -v $(sed 's/:/ /g' <<< $LD_LIBRARY_PATH)

Anda dapat mengkompilasi program pengujian sederhana dengan gcc dan menautkan perpustakaan Anda. Kemudian Anda dapat memeriksa pustaka yang digunakan dengan ldd. Saya menggunakan sesuatu seperti ini:

echo "int main(){}" | gcc -x c++ -Wl,--no-as-needed -lmylib - && ldd a.out | grep mylib

-Wl,--no-as-needed mencegah linker membuang pustaka, karena tidak ada simbol dari pustaka yang digunakan.


Gantikan secara global (spasi) untuk : dengan LD_LIBRARY_PATH

/sbin/ldconfig -N -v $(sed 's/:/ /g' <<< $LD_LIBRARY_PATH)

Linux
  1. Bagaimana Cara Mengetahui Beban Eksekusi Perpustakaan Dinamis Saat Dijalankan?

  2. Keluar Dari Temukan Jika -exec Gagal?

  3. Temukan Proses Orphan Linux

  1. jalur perpustakaan saat dimuat secara dinamis?

  2. Linux menemukan id inti Hyper-threaded

  3. Tidak dapat menemukan kesalahan perpustakaan libcrypto

  1. Cetak md5sum dari hasil perintah find di Linux

  2. cara menemukan jalur modul Linux

  3. ldd tidak menemukan jalur, Bagaimana menambahkan