Package: src:inkscape Version: 1.4.2-3 Severity: important Tags: sid forky ftbfs User: [email protected] Usertags: ftbfs-gcc-16
Hi, inkscape fails to build in a test rebuild on at least amd64 and arm64 with gcc-16/g++-16, but builds properly with gcc-15/g++-15. The severity of this report will be raised before the forky release. The full build log can be found at: https://people.debian.org/~ema/gcc-16-rebuilds/output-1/inkscape_arm64.build.xz The last lines of the build log are at the end of this report. To build with GCC 16, either set CC=gcc-16 CXX=g++-16 explicitly, or install the gcc, g++, gfortran, ... packages from experimental. apt-get -t=experimental install g++ Common build failures include unused (but set) variables, array subscripts partly outside array bounds, and new/dropped symbols in Debian symbols files. For other C/C++ related build failures see the porting guide at http://gcc.gnu.org/gcc-16/porting_to.html Please only close this issue after double-checking that the package can be built correctly with GCC 16. Please do not reassign this bug to another package. If a fix in another package is required, then file a bug for the other package (or clone), and mark this bug as blocked by the bug in the other package. [...] /usr/include/2geom-1.4.0/2geom/sbasis.h:198:26: note: parameter passing for argument of type ‘Geom::Linear’ when C++17 is enabled changed to match C++14 in GCC 10.1 198 | if(!(*this)[i].isZero(eps)) return false; | ~~~~~~~~~^ /usr/include/2geom-1.4.0/2geom/bezier-curve.h: In member function ‘Geom::Curve* Geom::BezierCurveN<degree>::portion(Geom::Coord, Geom::Coord) const [with unsigned int degree = 1]’: /usr/include/2geom-1.4.0/2geom/bezier-curve.h:269:20: note: parameter passing for argument of type ‘Geom::Point’ when C++17 is enabled changed to match C++14 in GCC 10.1 269 | return new BezierCurveN<1>(pointAt(f), pointAt(t)); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/2geom-1.4.0/2geom/bezier-curve.h: In member function ‘virtual Geom::OptRect Geom::BezierCurve::boundsLocal(const Geom::OptInterval&, unsigned int) const’: /usr/include/2geom-1.4.0/2geom/bezier-curve.h:116:61: note: parameter passing for argument of type ‘Geom::Rect’ when C++17 is enabled changed to match C++14 in GCC 10.1 116 | if(i->min() == 0 && i->max() == 1) return boundsFast(); | ~~~~~~~~~~^~ /usr/include/2geom-1.4.0/2geom/bezier-curve.h: In member function ‘virtual Geom::Point Geom::BezierCurve::finalPoint() const’: /usr/include/2geom-1.4.0/2geom/bezier-curve.h:106:11: note: parameter passing for argument of type ‘Geom::Point’ when C++17 is enabled changed to match C++14 in GCC 10.1 106 | Point finalPoint() const override { return inner.at1(); } | ^~~~~~~~~~ /usr/include/2geom-1.4.0/2geom/sbasis-curve.h: In member function ‘virtual Geom::Rect Geom::SBasisCurve::boundsExact() const’: /usr/include/2geom-1.4.0/2geom/sbasis-curve.h:105:10: note: parameter passing for argument of type ‘Geom::Rect’ when C++17 is enabled changed to match C++14 in GCC 10.1 105 | Rect boundsExact() const override { return *bounds_exact(inner); } | ^~~~~~~~~~~ /usr/include/2geom-1.4.0/2geom/curve.h: In member function ‘virtual Geom::Point Geom::Curve::operator()(Geom::Coord) const’: /usr/include/2geom-1.4.0/2geom/curve.h:120:19: note: parameter passing for argument of type ‘Geom::Point’ when C++17 is enabled changed to match C++14 in GCC 10.1 120 | virtual Point operator() (Coord t) const { return pointAt(t); } | ^~~~~~~~ /usr/include/2geom-1.4.0/2geom/sbasis.h: In member function ‘double Geom::SBasis::valueAt(double) const’: /usr/include/2geom-1.4.0/2geom/sbasis.h:224:44: note: parameter passing for argument of type ‘Geom::Linear’ when C++17 is enabled changed to match C++14 in GCC 10.1 224 | const Linear &lin = (*this)[k-1]; | ^ /usr/include/2geom-1.4.0/2geom/sbasis-curve.h: In member function ‘virtual Geom::Point Geom::SBasisCurve::pointAt(Geom::Coord) const’: /usr/include/2geom-1.4.0/2geom/sbasis-curve.h:93:11: note: parameter passing for argument of type ‘Geom::Point’ when C++17 is enabled changed to match C++14 in GCC 10.1 93 | Point pointAt(Coord t) const override { return inner.valueAt(t); } | ^~~~~~~ /usr/include/2geom-1.4.0/2geom/curve.h: In member function ‘virtual Geom::Interval Geom::Curve::timeRange() const’: /usr/include/2geom-1.4.0/2geom/curve.h:102:22: note: parameter passing for argument of type ‘Geom::Interval’ when C++17 is enabled changed to match C++14 in GCC 10.1 102 | virtual Interval timeRange() const { | ^~~~~~~~~ /usr/include/2geom-1.4.0/2geom/sbasis.h: In member function ‘bool Geom::SBasis::isConstant(double) const’: /usr/include/2geom-1.4.0/2geom/sbasis.h:204:22: note: parameter passing for argument of type ‘Geom::Linear’ when C++17 is enabled changed to match C++14 in GCC 10.1 204 | if(!(*this)[0].isConstant(eps)) return false; | ~~~~~~~~~^ /usr/include/2geom-1.4.0/2geom/sbasis-curve.h: In member function ‘virtual Geom::Point Geom::SBasisCurve::finalPoint() const’: /usr/include/2geom-1.4.0/2geom/sbasis-curve.h:90:11: note: parameter passing for argument of type ‘Geom::Point’ when C++17 is enabled changed to match C++14 in GCC 10.1 90 | Point finalPoint() const override { return inner.at1(); } | ^~~~~~~~~~ /usr/include/2geom-1.4.0/2geom/sbasis.h: In member function ‘Geom::Coord Geom::SBasis::at1() const’: /usr/include/2geom-1.4.0/2geom/sbasis.h:214:48: note: parameter passing for argument of type ‘Geom::Linear’ when C++17 is enabled changed to match C++14 in GCC 10.1 214 | inline Coord at1() const { return (*this)[0][1]; } | ~~~~~~~~~^ /usr/include/2geom-1.4.0/2geom/sbasis-curve.h: In member function ‘virtual Geom::Point Geom::SBasisCurve::initialPoint() const’: /usr/include/2geom-1.4.0/2geom/sbasis-curve.h:89:11: note: parameter passing for argument of type ‘Geom::Point’ when C++17 is enabled changed to match C++14 in GCC 10.1 89 | Point initialPoint() const override { return inner.at0(); } | ^~~~~~~~~~~~ /usr/include/2geom-1.4.0/2geom/sbasis.h: In member function ‘Geom::Coord Geom::SBasis::at0() const’: /usr/include/2geom-1.4.0/2geom/sbasis.h:212:48: note: parameter passing for argument of type ‘Geom::Linear’ when C++17 is enabled changed to match C++14 in GCC 10.1 212 | inline Coord at0() const { return (*this)[0][0]; } | ~~~~~~~~~^ /usr/include/2geom-1.4.0/2geom/curve.h: In member function ‘virtual Geom::Coord Geom::Curve::valueAt(Geom::Coord, Geom::Dim2) const’: /usr/include/2geom-1.4.0/2geom/curve.h:116:66: note: parameter passing for argument of type ‘Geom::Point’ when C++17 is enabled changed to match C++14 in GCC 10.1 116 | virtual Coord valueAt(Coord t, Dim2 d) const { return pointAt(t)[d]; } | ~~~~~~~^~~ /usr/include/2geom-1.4.0/2geom/sbasis.h: In member function ‘bool Geom::SBasis::isZero(double) const’: /usr/include/2geom-1.4.0/2geom/sbasis.h:198:26: note: parameter passing for argument of type ‘Geom::Linear’ when C++17 is enabled changed to match C++14 in GCC 10.1 198 | if(!(*this)[i].isZero(eps)) return false; | ^ /usr/include/2geom-1.4.0/2geom/bezier-curve.h: In member function ‘virtual void Geom::BezierCurve::operator*=(const Geom::Affine&)’: /usr/include/2geom-1.4.0/2geom/bezier-curve.h:148:43: note: parameter passing for argument of type ‘Geom::Point’ when C++17 is enabled changed to match C++14 in GCC 10.1 148 | setPoint(i, controlPoint(i) * m); | ^ ninja: build stopped: subcommand failed. dh_auto_build: error: cd obj-aarch64-linux-gnu && LC_ALL=C.UTF-8 ninja -j128 -v returned exit code 1 make: *** [debian/rules:20: binary] Error 25 dpkg-buildpackage: error: debian/rules binary subprocess failed with exit status 2

