[SOLVED] feh: error while loading shared libraries: libImlib2.so.1
SlackwareThis Forum is for the discussion of Slackware Linux.
Notices
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
feh: error while loading shared libraries: libImlib2.so.1
hi,
i just ran into a little problem. while configure && make && make install was no problem at all, feh insists to not find libImlib2.so.1. however, it does know where the lib is. the libs are installed in:
why should i use packages, when available? also, slackbuild packages compile imlib2 from source anyway, only with less control over where i want stuff to go.
Quote:
Starting an application with a lib dependecy in an off path place:
a) export LD_LIBRARY_PATH=/<path-to-lib>/
b) <command-to-run-application>
.....
i'll try that but it shouldn't be necessary since i never had any problems with locally compiled progs.
does anybody know why feh is unable to find imlib2?
The file /etc/ld.so.conf contains paths to system libraries. Since this is a local path, that you've created, it is not listed in the ld.so.conf, therefore your custom location is not included in the library search on execution. You could add /home/<username>/.local/lib to ld.so.conf and run ldconfig -i ( as root ) to force rereading of all your libraries. The second way is using the LD_CONFIG_PATH variable, like knudfl suggested, which also tells the system where to look for libraries. For convenience you could add a line in your .bash_profile and .bashrc that reads
The file /etc/ld.so.conf contains paths to system libraries. Since this is a local path, that you've created, it is not listed in the ld.so.conf, therefore your custom location is not included in the library search on execution.
thanks for the answer. yet, feh is not the first prog i installed this way. there are many others that all need their lib's respectively. all these libs are likewise installed locally, i.e. in $HOME/.local/lib, just as imlib2 is. why do other prog's find their lib's although these are neither listed in /etc/ld.so.conf nor is the LD_LIBRARY_PATH set to the apropriate value? i use this modus operandi for many years now. it's only feh that makes trouble and i can't get my head around why. odd...
I posted for your benefit. Did it work for you as well?
thank you but no, since my problem is different from yours. but i probably just adjust LD_LIBRARY_PATH than it'll work. still i think it's odd that i didn't need to do so until i installed feh. well actually i uninstalled it already and decided i don't like it ... so nevermind guys.
thx anyway, slacky02
SOLUTION: see Refractor's post:
adjust LD_LIBRARY_PATH by doing in ~/.bash_profile:
Code:
export LD_LIBRARY_PATH=/your/non/standard/lib/path
// note: you have to logout and login again
OR adding your non standard path to /etc/ld.so.conf and issuing ldconfig as root as mattca suggested.
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.