[Evolution] pkg-has-shlibs-control-file-but-no-actual-shared-libs

Loïc Minier lool at dooz.org
Sun Jan 11 18:08:14 UTC 2009


On Sun, Jan 11, 2009, Yves-Alexis Perez wrote:
> E: evolution-plugins-experimental:
> pkg-has-shlibs-control-file-but-no-actual-shared-libs
> E: evolution-plugins:
> pkg-has-shlibs-control-file-but-no-actual-shared-libs
> and some warnings:
> W: evolution: unused-shlib-entry-in-control-file
> liborg-gnome-evolution-hula-account setup
> W: evolution: unused-shlib-entry-in-control-file liborg-gnome-bogo-junk
> plugin
> W: evolution: unused-shlib-entry-in-control-file liborg-gnome-calendar
> file
> W: evolution: unused-shlib-entry-in-control-file
> liborg-gnome-evolution-startup wizard
> W: evolution: unused-shlib-entry-in-control-file liborg-gnome-calendar
> http
> W: evolution: unused-shlib-entry-in-control-file liborg-gnome-groupwise
> features
> […]
> 
> It seems that's because of the DEB_DH_MAKESHLIBS_ARGS_* stuff in
> debian/rules. I guess the intention is to add the correct dependency on
> evolution for evolution-plugins-* but it doesn't seem to really be the
> correct way.

 Right, I think this broke.  dh_makeshlibs allows generating shlibs
 which are used to generate dependencies on a shared library.  evolution
 is a "shared binary", but we wont get any shlibs support for that;
 plugins are real shared libraries, but nothing depends on them;
 finally, /usr/lib/evolution/2.*/*.so are real shared libraries, but not
 in the library path.

 I think the intent was to cover the third type of objects to generate
 dependencies on evolution for the plugins using evolution's libs.

 e.g. /usr/lib/evolution/2.22/plugins/liborg-gnome-face.so is in
 evolution-plugins and uses evolution libs such as
 /usr/lib/evolution/2.22/libevolution-smime.so.0.

 Unfortunately, this probably broke with the dpkg-shlibdeps rewrite; I
 suspect dpkg-shlibdeps will now insist that *.so be in the library
 search path to add them to shlibs.

 Try appending /usr/lib/evolution/2.22 to LD_LIBRARY_PATH, and it should
 fix shlib generation and fix this subtle construct.  It should be in
 the env of both dh_makeshlibs -pevolution and dh_shlibdeps -pevolution,
 -pevolution-plugins and others.  I think DEB_SHLIBDEPS_INCLUDE only
 covers dh_shlibdeps, not dh_makeshlibs.

 The --noscripts are correct because we want shlibs but we don't want
 ldconfig calls (as ldconfig doesn't see this dir anyway).

-- 
Loïc Minier



More information about the Pkg-evolution-maintainers mailing list