On Mon, 16 Jan 2006 13:57:48 +0000 Alastair Tse <[EMAIL PROTECTED]> babbled:
> Hi, > > Quick Summary: > > Here's a simple patch to make the modules in the new modular evas to > link to libevas otherwise certain symbols that these modules depend on > are not found at runtime (in certain situations). > > Not quite sure if it is just an oversight or if there is a reason. If > there is a reason, the below is a summary why I prefer them to link to > libevas.so > > Explanation: > > * When a module gets loaded with dlopen, it contains symbols that are > only in libevas.so (eg. evas_common_cpu_init). Problem is that if the > libevas.so is loaded in an environment where RTLD_GLOBAL is not used, > then the libevas.so symbols do not get exported to the dynamically > loaded module (for example, software_x11/module.so). > > * An example of another project doing similar things is gtk-2. If you > look at their theme engines, they are dynamically loaded, but the > modules are linked to libgtk-x11-2.0.so. > > * Why I need it? Well, actually I've been working on and off on wrapping > the EFL in python so I can quickly prototype apps that use evas/ecore. > This is for certain prototypes I work on for my research lab. > > I know there is another group of people with another Python wrapper, but > I'm more familiar with hacking on my own code which I will release in > due course[1]. Python (correctly) loads modules using dlopen() but > without RTLD_GLOBAL, and hence all the dynamically loaded libraries > after that do not expose their symbols in the same way that you'd expect > if you just compiled an executable such as evas_software_x11_test. > > Hope that helps explain why I'd like the modules to be linked back to > libevas.so. My apologies if I just explained something painfully obvious > to all but myself :) ok- you do have a point - ie any env that woudl dlopen() without RTLD_GLOBAl and somehow suck in evas would suffer - thus the need for an explicit link. makes sense. this also triggered me to see that this and other linkages weren't done properly at all and there being excessive linkages to libs not needed by lkibs/modules/part sof evas's build and i fixed them all. > Cheers, > > Alastair > > [1] http://projects.liquidx.net/python/browser/pye/trunk/ > -- > Alastair Tse (liquidx) > Python, Bluetooth, PDA, Chinese/JK Package Developer > [W] http://dev.gentoo.org/~liquidx/ [EMAIL PROTECTED] [EMAIL PROTECTED] > -- ------------- Codito, ergo sum - "I code, therefore I am" -------------- The Rasterman (Carsten Haitzler) [EMAIL PROTECTED] 裸好多 Tokyo, Japan (東京 日本) ------------------------------------------------------- This SF.net email is sponsored by: Splunk Inc. Do you grep through log files for problems? Stop! Download the new AJAX search engine that makes searching your log files as easy as surfing the web. DOWNLOAD SPLUNK! http://sel.as-us.falkag.net/sel?cmd=lnk&kid=103432&bid=230486&dat=121642 _______________________________________________ enlightenment-devel mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
