I am using Ubuntu 16. I want to use cfmid for my project. When I set LD_LIBRARY_PATH in terminal, I can get output of the cfmid library:

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

But, when I close the terminal session and open a new one, I want to add LD_LIBRARY_PATH again.

How can I set this permanently?


You just need to add the following line to your ~/.bashrc file:


The file is loaded every time you open a terminal. If you want to set the variable once when you login, add the line to ~/.profile instead.

Due to a bug in the openssh and/or xorg package the variable may be unset again on your system so that using the dotfiles as recommended above doesn’t work. There are several possible solutions:

  • disable the initialisation of ssh-agent in /etc/X11/Xsession.options:

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

    This won’t do any harm, see the explanation in this bug report comment.

  • the workaround from a duplicate bug report:

    echo STARTUP=\"/usr/bin/env LD_LIBRARY_PATH=\${LD_LIBRARY_PATH} \${STARTUP}\" | sudo tee /etc/X11/Xsession.d/90preserve_ld_library_path
  • use a /etc/ld.so.conf.d/*.conf file as explained in this bug report comment (see also How to set the environmental variable LD_LIBRARY_PATH in 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

Your Answer

By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

Not the answer you're looking for? Browse other questions tagged or ask your own question.