Package: double-conversion Version: 3.1.5-6 Severity: minor Tags: patch User: ubuntu-de...@lists.ubuntu.com Usertags: origin-ubuntu hirsute ubuntu-patch
Hi Mo, Thanks for your forebearance with this string of Ubuntu bug reports. I'm hopeful that once we manage to resolve this one, the double-conversion package will be in sync again between Debian and Ubuntu :) The latest upload of double-conversion is failing to build from source on ppc64el in Ubuntu, because Ubuntu builds ppc64el with -O3 by default instead of -O2, and this additional optimization level somehow causes a public constructor to be lost from the exported symbols: [...] dpkg-gensymbols: warning: debian/libdouble-conversion3/DEBIAN/symbols doesn't ma tch completely debian/libdouble-conversion3.symbols --- debian/libdouble-conversion3.symbols (libdouble-conversion3_3.1.5-6_ppc64el) +++ dpkg-gensymbolshNCmYB 2020-10-28 15:27:33.543945019 +0000 @@ -36,7 +36,7 @@ (c++)"double_conversion::DoubleToStringConverter::CreateDecimalRepresentation( char const*, int, int, int, double_conversion::StringBuilder*) const@Base" 2.0.0 (c++)"double_conversion::DoubleToStringConverter::CreateExponentialRepresentat ion(char const*, int, int, double_conversion::StringBuilder*) const@Base" 2.0.0 (c++)"double_conversion::DoubleToStringConverter::DoubleToAscii(double, double _conversion::DoubleToStringConverter::DtoaMode, int, char*, int, bool*, int*, in t*)@Base" 2.0.0 - (c++)"double_conversion::DoubleToStringConverter::DoubleToStringConverter(int, char const*, char const*, char, int, int, int, int)@Base" 3.1.5 +#MISSING: 3.1.5-6# (c++)"double_conversion::DoubleToStringConverter::DoubleToSt ringConverter(int, char const*, char const*, char, int, int, int, int)@Base" 3.1 .5 (c++)"double_conversion::DoubleToStringConverter::EcmaScriptConverter()@Base" 2.0.0 (c++)"double_conversion::DoubleToStringConverter::HandleSpecialValues(double, double_conversion::StringBuilder*) const@Base" 2.0.0 (c++)"double_conversion::DoubleToStringConverter::ToExponential(double, int, d ouble_conversion::StringBuilder*) const@Base" 2.0.0 dh_makeshlibs: error: failing due to earlier errors [...] (https://launchpad.net/ubuntu/+source/double-conversion/3.1.5-6/+build/20200598) This problem is also reproducible on amd64 if I raise the optimization level. This may well be a problem with the toolchain, but for the moment I've worked around this by forcing the optimization level down to -O2 as in the attached patch. Thanks for considering, -- Steve Langasek Give me a lever long enough and a Free OS Debian Developer to set it on, and I can move the world. Ubuntu Developer https://www.debian.org/ slanga...@ubuntu.com vor...@debian.org
diff -Nru double-conversion-3.1.5/debian/rules double-conversion-3.1.5/debian/rules --- double-conversion-3.1.5/debian/rules 2020-01-10 22:27:54.000000000 -0800 +++ double-conversion-3.1.5/debian/rules 2020-10-28 13:38:12.000000000 -0700 @@ -2,6 +2,8 @@ export DEB_BUILD_MAINT_OPTIONS = hardening=+all export DEB_LDFLAGS_MAINT_APPEND = -Wl,--as-needed +export DEB_CXXFLAGS_MAINT_APPEND += -O2 +export DEB_CXXFLAGS_MAINT_STRIP += -O3 # Get compilation flags from dpkg-buildflags DPKG_EXPORT_BUILDFLAGS = 1