Is panel plugins integration broken at the moment?

Carol Spears carol at gimp.org
Thu Oct 20 21:36:37 CEST 2005


On Thu, Oct 20, 2005 at 08:41:51PM +0200, Jasper Huijsmans wrote:
> Carol Spears schreef:
> > On Thu, Oct 20, 2005 at 01:23:08PM +0200, Jasper Huijsmans wrote:
> > 
> >>Carol Spears schreef:
> >>...
> >>
> >>This is getting a bit off-topic ;-) External plugins for the new panel 
> >>are installed in ${prefix}/libexec/xfce4/panel-plugins/. Some 
> >>distributions define the libexec directory to be ${prefix}/lib/.
> > 
> > 
> > this made sense to me if it was something from samba.
> > 
> 
> I don't get this. What does any of this have to do with samba?
> 
i looked at what was on my computer:
carol at treva:~$ ls /usr/local/libexec/
balou-export-theme
balou-install-theme
xfce4/
xfsm-shutdown-helper
carol at treva:~$ ls /usr/local/libexec/xfce4/panel-plugins/
xfce4-menu-plugin
carol at treva:~$ ls /usr/libexec
ls: /usr/libexec: No such file or directory

i have a handful of facts.  i do not use or install samba.  i have not
attempted to play with the menu editor yet.  i had to tell my svn xfce
to use my theme again, and this did not bother me.  another potential
fact is that debian ditched that directory in /usr/ for its own purposes
and this is the reason i do not see it there.  i did not purge their
xfce4, i merely removed it.  i do not know if that is a pertinent fact
here, it is just a fact i have that might mean something.

i started to wonder where such a directory came from to begin with.  i
am used to developers who seem to mix the ideas of easy and efficient
and get a really good product from that mix.  so, what reason would this
new directory appear in /usr/local?  seeing the xfsm-shutdown-helper and
having recently enjoyed the beauty and mystery of rsync -- i answered my
own question about where this new $PREFIX originated from and decided it
was for samba to be able to have its own weird little place on a
computer that is running between two operating systems -- or however
that works.  sometimes i answer my questions wrongly.  i know this.

it is still difficult for me to imagine that developers add a new
location like this on a computer that works with shared libraries for a
reason other than the ones samba would have.

> > i don't want to change an important root owned file like that for one
> > application.  the only reason i would consider it is if i was installing
> > something like samba to read acrossed file systems like i guess it does.
> > 
> 
> Erm, xfce installs libraries. They need to be found by applications and 
> by plugins. There are, as far as I know, two ways to do this:
> 1. add the appropriate directory to /etc/ld.so.conf
> 2. set LD_LIBRARY_PATH to include the appropriate directory
> 
> This is the same for both regular programs and external plugins. 
> However, it seems that for regular programs, i.e. the ones installed in 
> ${prefix}/bin, the linker knows how to find the libraries in 
> ${prefix}/lib even without either of those settings. The problem is that 
> for plugins this doesn't work, so what happens is this:
> 
> 1. xfce4-panel works fine (it's in ${prefix}/bin)
> 2. the panel runs plugins in ${prefix}/libexec/xfce4/panel-plugins, 
> which fail. There is no warning to the user.
> 
> There also is no problem building the plugins, because pkg-config adds 
> the appropriate linker flags during compilation.
> 
> That's it, nothing to do with samba or with doing something 
> extra-special to make the panel work. The problem is that the panel 
> doesn't fail in the same way that plugins do, which makes it much harder 
> to understand for the user.
> 
> I hope this explanation made a little more sense ;)
> 
sure, it makes sense.  and looking at mine, i can see that perhaps i
lost an important benefit when i had to tell my new installation to
reload my old theme.  and, when i get around to editing the menu, i will
probably have to rebuild things.

what doesn't make sense to me is how it got there.  

gimp puts its plug-ins in ${prefix}/lib/gimp/version/plug-ins/
they run into some problems with the version part.  for instance, i am
using gimp-2.3 and it gets its plugins from
${prefix}/lib/gimp/2.0/plug-ins.  something about portability.  the only
reason to run gimp-2.2 and gimp-2.3 would be if you were a fixer of bugs
and you should probably be handy enough with the build tools to work
that out.

i still think that since xfce uses samba, that is how that directory got
there.  help me understand :)

carol




More information about the Xfce4-dev mailing list