Xfce 4.4BETA1 - core packages

Brian J. Tarricone bjt23 at cornell.edu
Mon Mar 27 14:28:29 CEST 2006


Benedikt Meurer wrote:
> Brian J. Tarricone wrote:
>>>> I was thinking about loading libthunar-vfs on demand instead of linking 
>>>> to it directly, so xfdesktop could make use of it without having it 
>>>> present at compile time.  Not sure if I'll have time to do this, though. 
>>>>  Maybe I can use relaytool from the autopackage tools to make this 
>>>> easier?  I dunno; need to look into it.  I just feel like the dependency 
>>>> chain is kinda icky right now, and needs to be fixed.
>>> That's going to be funny, esp. with thunarx, which in turn loads the
>>> extensions. I doubt that this will work properly on all platforms.
>> Funny in what way?  I'm not worried about *unloading* the libs, just 
>> loading them.  If they have to remain resident even if the desktop icon 
>> view is turned off, that's fine.
> 
> That was sarcasm. There'll be no fun at all in there.
> 
> You cannot unload thunar-vfs/thunarx/libexo, as they register static
> GTypes. I was solely talking about loading, and I doubt that this
> 
>  xfdesktop -> thunar-vfs -> libexo
>  xfdesktop -> thunarx -> extension.so[LOCAL] [-> thunar-vfs -> libexo]
> 
> is going to work w/o trouble with the various dlopen()/shl_load()
> implementations on the supported platforms. You'll need to be very
> careful to even make it work with glibc, not to mention the more exotic
> platforms.

Well, the real problem comes into play if your "extension.so" above 
pulls in a different version of something already loaded.  ELF is broken 
that way.  Otherwise... I agree, it's messy.

> If you decide to play with this, make this optional and disabled by default.

Then there's really no reason to bother, then.

>> I looked at relaytool, and it appears to do what I want, though it'll 
>> only work on x86.  Not sure if it's worth the effort.  Since all the 
>> thunar-vfs stuff is in only a couple files that won't get used at all if 
>> thunar-vfs isn't available, I might just write my own wrapper that uses 
>> GModule instead, so it should support all platforms.  Again, not sure if 
>> it's worth the effort.
> 
> GModule just uses dlopen()/shl_load().

Of course.  I was merely pointing out that relaytool only supports x86, 
and from looking through it, only dlopen(), so using GModule would allow 
it to work on any platform that glib supports, and hence any platform 
Xfce supports.


	-brian




More information about the Xfce4-dev mailing list