On Thu, 24 Jan 2008, Raphael Hertzog wrote:
> Hi,
> 
> On Thu, 24 Jan 2008, Matthias Klose wrote:
> > Currently dpkg-shlibdeps emits wrong-leading warnings for packages
> > linked against libgcj_bc.so:
> > 
> > dpkg-shlibdeps: warning: debian/ecj-gcj/usr/bin/ecj-gcj shouldn't be linked 
> > with libgcj_bc.so.1 (it uses none of its symbols).
> > dpkg-shlibdeps: warning: debian/ecj-gcj/usr/bin/ecj-gcj shouldn't be linked 
> > with libpthread.so.0 (it uses none of its symbols).
> > dpkg-shlibdeps: warning: debian/ecj-gcj/usr/bin/ecj-gcj shouldn't be linked 
> > with librt.so.1 (it uses none of its symbols).
> > dpkg-shlibdeps: warning: debian/ecj-gcj/usr/bin/ecj-gcj shouldn't be linked 
> > with libz.so.1 (it uses none of its symbols).
> > dpkg-shlibdeps: warning: debian/ecj-gcj/usr/bin/ecj-gcj shouldn't be linked 
> > with libdl.so.2 (it uses none of its symbols).
> > 
> > If libgcj_bc.so.1 is found as a dependency, only the symbols built
> > from the libgcj_bc.c file should be evaluated.
> 
> Sorry, I don't understand what you mean. Can you give some more details?

After a quick chat on IRC, it looks like the core problem might be that
libgcj_bc.so.1 in fact has a SONAME libgcj.so.X since it's just a
symlink...

At build time, it links with a libgcj_bc.so that contains just the
official symbols but at run time the "official symbols" are looked up in
another library... because libgcj_bc.so.1 is a symlink to that library.

The differing SONAME are probably the root cause of this problem.
We should find a way to register both SONAME as aliases to avoid this.

Cheers,
-- 
Raphaël Hertzog

Le best-seller français mis à jour pour Debian Etch :
http://www.ouaza.com/livre/admin-debian/


Reply via email to