LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Linux - Newbie (http://www.linuxquestions.org/questions/linux-newbie-8/)
-   -   Slackware 10.2: e16 (http://www.linuxquestions.org/questions/linux-newbie-8/slackware-10-2-e16-437656/)

zytsef 04-22-2006 03:19 AM

Slackware 10.2: e16
 
I just got enlightenment 0.16.8.1 on my Slackware 10.2 install and after wrestling pkg-config to do my bidding (it took far longer than it should have) I './configure'd and 'make'd it and all dependencies. Now, when I go to 'starte16' something curious happens:

e16: error while loading shared libraries: libImlib2.so.1: cannot open shared object file: No such file or directory

Interesting. So I check to make sure it exists:

$find / -name *libImlib2.so.1*
/usr/local/lib/libImlib2.so.1.2.1
/usr/local/lib/libImlib2.so.1

So far so good. I check on /etc/ld.so.conf:

/usr/local/lib
/usr/X11R6/lib
/usr/i486-slackware-linux/lib

Seems fine to me, but then I don't pretend to know much. Anyone have any clue what the problem could be?

Thanks in advance.

Komakino 04-22-2006 06:15 AM

A reset might sort it, but before you log in, or in your .xinitrc file put the line:
export LD_LIBRARY_PATH=/usr/local/lib

zytsef 04-22-2006 06:41 AM

Awesome, thanks a lot. Cleared my problem right up. I think I'll play around a bit to see if it was the reboot or the environment variable and report back. What does LD_LIBRARY_PATH do, exactly, anyways? I assume it loads the library path, but why do I need it in xinitrc? Shouldn't it read from /etc/ld.so.conf like everything else?

Komakino 04-22-2006 08:12 AM

Quote:

Originally Posted by zytsef
Awesome, thanks a lot. Cleared my problem right up. I think I'll play around a bit to see if it was the reboot or the environment variable and report back. What does LD_LIBRARY_PATH do, exactly, anyways? I assume it loads the library path, but why do I need it in xinitrc? Shouldn't it read from /etc/ld.so.conf like everything else?

LD_LIBRARY_PATH is an environment variable that can be set to tell the linker where to look for shared library files. Imagine if you were just a normal user on a system and had no root access but wanted to install some libraries - you could set that rather than editing /etc/ld.so.conf which you woudln't have access to. Quite why yours isn't using the info in /etc/ld.so.conf is a mystery, though I've also had a similar problem in the past.

It doesn't matter where you put the export LD_LIBRARY_PATH (etc) bit, you could simply type it in the shell before hand, but I told you to put it in the .xinitrc file so it would be loaded automatically.

zytsef 04-22-2006 09:34 AM

Cool, thanks for explaining. That's really good to know.

merchtemeagle 04-22-2006 09:48 AM

Did you run 'ldconfig' ?

zytsef 04-22-2006 05:28 PM

Yeah, it was just a problem of my shared libraries not being updated. LD_LIBRARY_PATH isn't necissary in this case, I just had to get everything linked properly by rebooting or ldconfig. Thanks for the tips.


All times are GMT -5. The time now is 01:12 AM.