[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: How to fix symbols files to work with gcc-7 and gcc-8 (Was: Bug#897794: libquazip: ftbfs with GCC-8)



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@Base 0.7.3
> > - (optional)_ZN5QListI16QuaZipFileInfo64ED2Ev@Base 0.7.3
> > +#MISSING: 0.7.3-6# (optional)_ZN5QListI16QuaZipFileInfo64ED1Ev@Base 0.7.3
> > +#MISSING: 0.7.3-6# (optional)_ZN5QListI16QuaZipFileInfo64ED2Ev@Base 0.7.3

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

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

same.

> > - (optional)_ZN7QStringD1Ev@Base 0.7.3
> > - (optional)_ZN7QStringD2Ev@Base 0.7.3
> > +#MISSING: 0.7.3-6# (optional)_ZN7QStringD1Ev@Base 0.7.3
> > +#MISSING: 0.7.3-6# (optional)_ZN7QStringD2Ev@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@Base 0.7.3
> >   _ZN10QuaZipFileD1Ev@Base 0.7.3
> >   _ZN10QuaZipFileD2Ev@Base 0.7.3
> > - _ZN11QStringListC1ERK7QString@Base 0.7.3
> > - _ZN11QStringListC2ERK7QString@Base 0.7.3
> > +#MISSING: 0.7.3-6# _ZN11QStringListC1ERK7QString@Base 0.7.3
> > +#MISSING: 0.7.3-6# _ZN11QStringListC2ERK7QString@Base 0.7.3

This is the actual error.

|mattia@warren ~ % echo "
|dquote> > - _ZN11QStringListC1ERK7QString@Base 0.7.3
|dquote> > - _ZN11QStringListC2ERK7QString@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  `-

Attachment: signature.asc
Description: PGP signature


Reply to: