Bug#940517: libcairo-gobject-perl: investigate library-not-linked-against-libc Lintian error

Niko Tyni ntyni at debian.org
Mon Sep 16 18:05:48 BST 2019


On Mon, Sep 16, 2019 at 05:20:06PM +0200, intrigeri at debian.org wrote:
> Package: libcairo-gobject-perl
> Version: 1.004-3
> Severity: important
> 
> I've spotted this error while packaging 1.005:
> 
> E: libcairo-gobject-perl: library-not-linked-against-libc usr/lib/x86_64-linux-gnu/perl5/5.28/auto/Cairo/GObject/GObject.so

> 1. 1.004-3+b1 that's in the archive (binNMU from 2018-11-02)
> 
>      - there's a "NEEDED" for libc.so.6
>      - the "DYNAMIC SYMBOL TABLE" section includes:
> 
>          0000000000000000  w   DF *UND*  0000000000000000  GLIBC_2.2.5 __cxa_finalize
> 
> 2. Fresh build of 1.005-1
> 
>      - no "NEEDED" for libc.so.6, hence the Lintian error
>      - __cxa_finalize is still present in the dynamic symbol table
> 
> So this does not look like a false positive: at least one symbol from
> libc is directly used by the library, so presumably it should be
> linked against libc.

The 'w' indicates a weak symbol. I expect that's why it doesn't
result in a NEEDED entry.

#896012 explains the behaviour if I understand it correctly: -lc
used to be exempt from --as-needed but apparently GCC changed in that
regard. Quoting doko there:

  If the plugin doesn't have a reference to libc and --as-needed is
  specified as in your case, then libc isn't linked in.

So it seems to me that this is a false positive, and as discussed in
#909267 lintian needs to get smarter.
-- 
Niko



More information about the pkg-perl-maintainers mailing list