Bagaimana cara mengatur LD_LIBRARY_PATH secara permanen?

11

Saya menggunakan Ubuntu 16. Saya ingin menggunakan cfmiduntuk proyek saya. Ketika saya mengatur LD_LIBRARY_PATHterminal, saya bisa mendapatkan output dari cfmidperpustakaan:

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home/lclab/installed/boost/boost_1_65_0:/home/lclab/installed/rdkit/rdkit-Release_2016_03_1/lib:/home/lclab/installed/lp/lp_solve_5.5.2.5_dev_ux64

Tapi, ketika saya menutup sesi terminal dan membuka yang baru, saya ingin menambahkan LD_LIBRARY_PATHlagi.

Bagaimana saya bisa mengatur ini secara permanen?

Kaushali de silva
sumber

Jawaban:

15

Anda hanya perlu menambahkan baris berikut ke ~/.bashrcfile Anda :

LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/home/lclab/installed/boost/boost_1_65_0:/home/lclab/installed/rdkit/rdkit-Release_2016_03_1/lib:/home/lclab/installed/lp/lp_solve_5.5.2.5_dev_ux64"

File dimuat setiap kali Anda membuka terminal. Jika Anda ingin mengatur variabel satu kali saat login, tambahkan baris ~/.profilesebagai gantinya.

Karena bug dalam opensshdan / atau xorgpaket variabel mungkin tidak diset lagi pada sistem Anda sehingga menggunakan dotfiles seperti yang direkomendasikan di atas tidak bekerja. Ada beberapa solusi yang mungkin:

  • nonaktifkan inisialisasi ssh-agentdalam /etc/X11/Xsession.options:

    sudo sed -i 's/use-ssh-agent/no-use-ssh-agent/' /etc/X11/Xsession.options
    

    Ini tidak akan membahayakan, lihat penjelasan dalam komentar laporan kutu ini .

  • solusi dari laporan bug duplikat :

    echo STARTUP=\"/usr/bin/env LD_LIBRARY_PATH=\${LD_LIBRARY_PATH} \${STARTUP}\" | sudo tee /etc/X11/Xsession.d/90preserve_ld_library_path
    
  • gunakan /etc/ld.so.conf.d/*.conffile seperti yang dijelaskan dalam komentar laporan bug ini (lihat juga Cara mengatur variabel lingkungan LD_LIBRARY_PATH di linux ):

    echo "/opt/qt-mobility-src-1.0.0-tp2/install/lib" | sudo tee /etc/ld.so.conf.d/qt-mobility.conf && sudo ldconfig -v
    
pencuci mulut
sumber
Di Ubuntu 18.04: Aku sedang menyiapkan LD_LIBRARY_PATHdi ~/.pam_environmentdan selalu diset setelah reboot. Solusi pertama menyelesaikannya. (ganti use-ssh-agentoleh no-use-ssh-agentdalam /etc/X11/Xsession.options)
Daniel