[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [E-devel] export of LD_LIBRARY_PATH in e_start_main.c

Carsten Haitzler (The Rasterman) wrote:
> On Sun, 17 Dec 2006 22:13:05 -0500 Mike Frysinger <vapier@gentoo.org> babbled:
>> On Sunday 17 December 2006 17:54, Carsten Haitzler wrote:
>>> this is part of the setup that enlightenment_start does to make sure e
>>> finds libraries in the prefix it's installed in. basically this is there
>>> for when people install, e17, evas, eet, etc. in, for example, /opt/e17 or
>>> /usr/local which is the default, and on linux DONT add /opt/e17/lib to
>>> /etc/ld.so.conf or if on bsd DONT add it to LD_LIBRARY_PATH. this means
>>> that things "just work". e also adds to $PATH too to make sure it can
>>> execute things in its own install prefix. it detects this on the fly at
>>> runtime because e is actually relocatable at runtime and doesnt need a
>>> recompile to be moved. this also handles the problem where users do silly
>>> things like install libs multiple times in different prefixes - the
>>> LD_LIBRARY_PATH makes the "prefix local" libs preferred over others (i.e.
>>> the ones e17 was most likely compiled against).
>> it sounds like you're trying to compensate for people who fucked up their 
>> install and dont know how to properly do things and thereby screwing over 
>> correct setups ...
> no - i'm trying to make e relocatable runtime without having to go set a whole
> lot of magic environment variables - just run enlightenment_start and it will
> "work".

Hm... Unfortunately setting those environment variables magically does 
affect the rest of the system too, not only e17. I thought about it and 
must say that I'd prefer it if setting those variables were left to the 
admin (or the one who installs software). I do agree that having several 
different versions of the same lib installed is not preferable, but 
sometimes it happens for good reason. I guess I too would consider 
having enlightenment relocatable useful for the unexperienced user 
(although I doubt that kind of user would shift enlightenment around 
once it's working), but I think if possible e_start_main.c should only 
set LD_LIBRARY_PATH if e's install location is really non-standard and 
not covered by the system (ld.so.conf or ld.so.conf.d/). I don't have an 
exact plan how to achieve relocatability without setting 
LD_LIBRARY_PATH, maybe s.th. like QTDIR or the option Mike proposed in 
this thread.

Regards,   Nick.

Der GMX SmartSurfer hilft bis zu 70% Ihrer Onlinekosten zu sparen! 
Ideal für Modem und ISDN: http://www.gmx.net/de/go/smartsurfer