Peculiar configure behavior
aoshi at OCF.Berkeley.EDU
Fri Aug 6 18:04:36 CEST 2004
> Not with libxfcegui4, but with xfce4-modules which is in the
> libxfcegui4, but do not get added to the library. The modules just float
> by themselves and are loaded/unloaded as gmodules. Both xfrun4 and xffm
> use the gmodules which in turn use libxfce4util. Since the modules are
> not linked statically, you cannot tell them to link up with a specific
> version of libxfce4util (or any other library). When you load one of the
> gmodules the libraries it relies on are loaded via the /etc/ld.conf
Runtime library paths can be specified to the linker; this is usually
done by using the LDFLAGS environment variable. The library paths which
are specified there are used before /etc/ld.so.conf is searched. Are
there any other packages you know offhand that use xfce4-modules as
well? If other packages which also rely on linking xfce4-modules are
linking properly, it seems almost certain that it's just a bug in the
> Before loading the module, neither xffm nor xfrun4 have required use of
> libxfce4util, therefore it is not loaded. The first call for
> libxfce4util lies in the module, but link information does not exist
> here, being just an object file.
> That's my current theory. If I am right, the only solution is to install
> a new version of libxfce4util. If I am wrong, I will be glad to see how
> to make the modules work with a library not in the /etc/ld.conf path.
Just installing a new version of libxfce4util doesn't work,
unfortunately :) I have two versions installed, the 4.0.6 branch at
/usr/lib, and the devel branch at /usr/local/xfce4/lib. Installing a
new version of libxfce4util would just lead to the same problem. I
could change the link in /usr/lib to point to /usr/local/xfce4/lib, but
that'd lead to potential breakage in the stable tree I'm running. Adding
/usr/local/xfce4/lib to ld.so.conf before /usr/lib is also not an option
since it'd lead to the same situation. The best thing to do in my case
is simply to specify runtime library paths to the linker, which is what
I'm doing. The problem now is that the autogenerated makefiles for a
few packages are breaking standard and not respecting the paths
specified in environment variables (LDFLAGS, specifically). The
solution is to fix the way the makefiles are generated, since what I've
been able to do is hand edit one of the autogenerated Makefiles (the one
for xfrun, specifically) so that the linker uses the right library path
(/usr/local/xfce4/lib) when it's doing it's dance in the compile
process. After installation, xfrun4 runs without a hitch.
> As to xfcalendar, the reason is probably different.
I'm still tempted to believe that it's just a Makefile generation issue,
but I'll have a better idea after I have time to look at this when I get
back to the states (Monday), or while I'm on the plane.
Thanks for your attention to this :) Hopefully we can figure it out and
have a patch ready to be applied soon.
More information about the Xfce4-dev