[Debian-med-packaging] Bug#897794: How to fix symbols files to work with gcc-7 and gcc-8 (Was: Bug#897794: libquazip: ftbfs with GCC-8)

Mattia Rizzolo mattia at debian.org
Fri May 4 22:29:41 BST 2018


On Fri, May 04, 2018 at 02:52:30PM +0200, Andreas Tille wrote:
> there are several bugs filed against packages of the Debian Med
> team.

Well, it's not really only about Debian Med...

> What's the correct way to fix the symbols file to work
> with both versions of gcc?

As usual.
Investigate why symbols disappear and decide what to do.
In case of symbols disappearing after changing the compiler, most likely
those symbols were weak and only leaked an implementation detail, and so
they need to be marked as "optional".
For example:

[ #897794 ]
> > [...]
> > - (optional)_ZN5QListI16QuaZipFileInfo64ED1Ev at Base 0.7.3
> > - (optional)_ZN5QListI16QuaZipFileInfo64ED2Ev at Base 0.7.3
> > +#MISSING: 0.7.3-6# (optional)_ZN5QListI16QuaZipFileInfo64ED1Ev at Base 0.7.3
> > +#MISSING: 0.7.3-6# (optional)_ZN5QListI16QuaZipFileInfo64ED2Ev at Base 0.7.3

These are fine, dpkg-gensymbols is only being noisy here.

> > - (optional)_ZN5QListI7QStringED1Ev at Base 0.7.3
> > - (optional)_ZN5QListI7QStringED2Ev at Base 0.7.3
> > +#MISSING: 0.7.3-6# (optional)_ZN5QListI7QStringED1Ev at Base 0.7.3
> > +#MISSING: 0.7.3-6# (optional)_ZN5QListI7QStringED2Ev at Base 0.7.3
> >   _ZN5QListI9QFileInfoE13detach_helperEi at Base 0.7.3
> > - (optional)_ZN5QListI9QFileInfoED1Ev at Base 0.7.3
> > - (optional)_ZN5QListI9QFileInfoED2Ev at Base 0.7.3
> > +#MISSING: 0.7.3-6# (optional)_ZN5QListI9QFileInfoED1Ev at Base 0.7.3
> > +#MISSING: 0.7.3-6# (optional)_ZN5QListI9QFileInfoED2Ev at Base 0.7.3

same.

> > - (optional)_ZN7QStringD1Ev at Base 0.7.3
> > - (optional)_ZN7QStringD2Ev at Base 0.7.3
> > +#MISSING: 0.7.3-6# (optional)_ZN7QStringD1Ev at Base 0.7.3
> > +#MISSING: 0.7.3-6# (optional)_ZN7QStringD2Ev at Base 0.7.3

same.

Those ones probably come from a previous iteration, like gcc5→gcc6 or
gcc6→gcc7.

> > dpkg-gensymbols: warning: some symbols or patterns disappeared in the symbols file: see diff output below
> > dpkg-gensymbols: warning: debian/libquazip5-1/DEBIAN/symbols doesn't match completely debian/libquazip5-1.symbols
> > --- debian/libquazip5-1.symbols (libquazip5-1_0.7.3-6_amd64)
> > +++ dpkg-gensymbolsslI1lw	2018-05-02 13:22:04.076864552 +0000
> > @@ -74,8 +74,8 @@
> >   _ZN10QuaZipFileD0Ev at Base 0.7.3
> >   _ZN10QuaZipFileD1Ev at Base 0.7.3
> >   _ZN10QuaZipFileD2Ev at Base 0.7.3
> > - _ZN11QStringListC1ERK7QString at Base 0.7.3
> > - _ZN11QStringListC2ERK7QString at Base 0.7.3
> > +#MISSING: 0.7.3-6# _ZN11QStringListC1ERK7QString at Base 0.7.3
> > +#MISSING: 0.7.3-6# _ZN11QStringListC2ERK7QString at Base 0.7.3

This is the actual error.

|mattia at warren ~ % echo "
|dquote> > - _ZN11QStringListC1ERK7QString at Base 0.7.3
|dquote> > - _ZN11QStringListC2ERK7QString at Base 0.7.3
|dquote> " | c++filt
|> - QStringList::QStringList(QString const&)@Base 0.7.3
|> - QStringList::QStringList(QString const&)@Base 0.7.3

Yes, these are symbols that leaked through, so they can (and should) be
marked as "optional".

-- 
regards,
                        Mattia Rizzolo

GPG Key: 66AE 2B4A FCCF 3F52 DA18  4D18 4B04 3FCD B944 4540      .''`.
more about me:  https://mapreri.org                             : :'  :
Launchpad user: https://launchpad.net/~mapreri                  `. `'`
Debian QA page: https://qa.debian.org/developer.php?login=mattia  `-
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: not available
URL: <http://alioth-lists.debian.net/pipermail/debian-med-packaging/attachments/20180504/bd79bf6a/attachment.sig>


More information about the Debian-med-packaging mailing list