App installed in ~/usr launches from terminal but not Applications menu (or why does setting ld_library_path in .profile not work as it should)

Posted by levesque on Ask Ubuntu See other posts from Ask Ubuntu or by levesque
Published on 2011-02-09T16:34:05Z Indexed on 2011/02/09 23:34 UTC
Read the original article Hit count: 300

I have built and installed an application under a directory of my choosing, let's say under /home/jim/usr, so files have been put in three-four folders, all under this $HOME/usr folder (e.g., bin, include, lib, share, etc.).

I can launch this application from the command line just fine as I added the proper paths to my environement variables PATH and LD_LIBRARY_PATH in ~/.bashrc.

I added the same paths to the ~/.profile file, which, if I'm not mistaken, is supposed to be parsed by Ubuntu.

Doesn't work. Nothing. Where can I go from there?

EDIT: I logged out/in and restarted my computer. Both didn't change a thing. The problem seems to come from the fact that no matter what I do the LD_LIBRARY_PATH environment variable is not properly passed to Ubuntu.

Using log files, I found that the application I'm trying to run in this example doesn't find one it's dependencies located in ~/usr/lib.

One solution would be to add the /home/jim/usr/lib folder inside a file located in /etc/ld.so.conf.d/, but I don't have admin rights on this machine.

Making a wrapper script like this one works:

#!/bin/bash
export LD_LIBRARY_PATH=$HLOC/usr/lib
application &> $HOME/application_messages.log

but that would force me to wrap all my home compiled applications with this script. Any ideas?

Why does Ubuntu/Gnome remove the LD_LIBRARY_PATH environment variable from my set variables? Is it because trying to do this is bad practice?

UPDATE (and solution): As found by Christopher, there is a bug report about this on launchpad. LD_LIBRARY_PATH is unset after parsing of the ~/.profile file. See the bug report. Seems the only solution for now is to make a wrapper script.

© Ask Ubuntu or respective owner

Related posts about customization

Related posts about .profile