On Mon, 07 Aug 2017 at 15:47:16 +0100, [email protected] wrote:
> It appears that your package provides an external symbol that is
> affected by the recent name mangling changes in GCC 7. See:
> https://gcc.gnu.org/gcc-7/porting_to.html#conversion-op-mangling
I started to look into fixing this bug and noticed that there is a new
version prepared and tagged in collab-maint git. However, I reviewed that
version and I don't think it's ready for a sponsored upload.
I would suggest not tagging versions until they are finalized and
uploaded. Now that there is a tag for -6 that never got uploaded,
the least confusing thing to do would probably be to skip -6 and have
the next maintainer upload be versioned -7.
> To ensure that new executables will pull in the newer version of the
> library built with GCC 7:
> - Your library package should Build-Depend on g++ (>= 4:7).
This has not yet been done in the version in collab-maint.
> - If your package provides a symbols file, ensure that the new
> conversion operator symbols have a version matching the version this
> bug is fixed in (including the Debian revision and tilde if
> necessary).
Neither has this. The minimal version for the affected symbols in the
affected library should be bumped to the version that is uploaded to
fix this, plus "~" (so for 3.2.2-6 they should have been 3.2.2-6~).
Because openmw's symbols files contain the mangled names
(_ZN5MyGUI10DataStreamC1EPSi@Base) and not the unmangled names like apt's
symbols file
((c++)"MyGUI::DataStream::DataStream(std::basic_istream<char,
std::char_traits<char> >*)@Base")
it might be sufficient to let dpkg-makeshlibs add the new symbols at build
time. However, it's probably better if the symbols file in the source
package is updated.
>From the updated package in git:
> * Cleanup and rebuild (Closes: #871235, #871299)
I don't think this changelog entry (or its accompanying git commit message)
is sufficient. It doesn't describe what cleanup took place or mention why
the rebuild is desirable.
I would be happier with something like:
* debian/copyright_hints: Remove
* Update Standards-Version to 4.0.0 (no changes required)
* Rebuild with g++ 7 to pick up name-mangling changes and be compatible
with recently-rebuilt dependencies (Closes: #871235, #871299)
Lintian also complains that Thu, 18 Sep 2017 never existed (the 18th was
a Monday). Copy/paste error?
Regards,
smcv