Saya mendapatkan kesalahan pustaka bersama setiap kali saya menginstal perangkat lunak secara manual. Setelah mengeksekusi echo $LD_LIBRARY_PATH
itu muncul sebagai .. tidak ada . Saya sudah mencoba menambahkan /usr/local/lib
ke .conf
file dalam /etc/ld.so.conf.d
tetapi tampaknya seperti itu tidak pernah dijalankan.
Ini tidak berfungsi, baik (kutipan atau lainnya):
LD_LIBRARY_PATH="/usr/local/lib"
export LD_LIBRARY_PATH
sudo ldconfig -v
Nilai akan ditetapkan sementara, tetapi tidak akan mempertahankan nilai jika saya keluar dari jendela terminal. Reboot juga tidak.
sudo
environment-variables
shared-library
Kemarahan Pembangkang
sumber
sumber
~/.bashrc
Jawaban:
Tambahkan yang berikut ke Anda
.bashrc
:Ini akan memungkinkan Anda me-restart komputer Anda, dan masih memiliki jalur yang ditetapkan.
sumber
/etc/ld.so.conf.d
?Di Red Hat Enterprise Linux (RHEL) 6,
/etc/ld.so.conf
mengandunginclude ld.so.conf.d/*.conf
. Tanpa baris ini, item dalam/etc/ld.so.conf.d/*.conf
tidak akan pernah diuraikan.Untuk melihat pustaka / direktori
ldconfig
mana yang diuraikansumber
/etc/ld.so.conf
sebelumnya karena saya ingin tahu apa isinya. Itu memang memilikiinclude
garis.ldconfig -v
mungkin memberi Anda ide mengapa perpustakaan tidak dimasukkan. Anda dapat menjalankanldconfig -p
untuk mencetak perpustakaan dan direktori yang ada di file cache saat ini.Saya akhirnya menyelesaikan ini dengan alias:
Pastikan untuk menggunakan tanda kutip tunggal, sehingga variabel diperluas pada saat doa, bukan pada saat alias didefinisikan.
Ini:
(Anda dapat melihat hal-hal apa yang bisa diatur dengan
sudo bash -c "echo $HOME"
:)Saya bekerja dengan driver khusus dan selalu harus sudo program pengujian saya untuk mengakses driver. Saya tidak ingin menginstal versi uji pustaka di area sistem, jadi saya menggunakan LD_LIBRARY_PATH untuk menyiapkan direktori pengujian tertentu sesuai kebutuhan. Saya tidak bisa hanya menetapkan LD_LIBRARY_PATH yang diperbaiki, saya harus dapat mengubahnya dan mempertahankan pengaturan saat ini. Mempertahankan PATH dan HOME memberi saya akses ke lingkungan kerja saya - skrip dan struktur direktori.
Alias ini menghindari keharusan memberikan izin selimut di sudoers ... dan tampaknya tidak ada solusi untuk LD_LIBRARY_PATH, terlepas dari pengaturan sudoer. Ini tidak berfungsi sudo di dalam skrip, tetapi itu bisa di-hardcode sesuai kebutuhan.
sumber