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

Reply via email to