[From nobody Mon Apr  6 14:51:07 2026
Received: (at submit) by bugs.debian.org; 22 Mar 2026 18:23:15 +0000
X-Spam-Checker-Version: SpamAssassin 4.0.1-bugs.debian.org_2005_01_02
 (2024-03-25) on buxtehude.debian.org
X-Spam-Level: 
X-Spam-Status: No, score=-121.2 required=4.0 tests=ALL_TRUSTED,BAYES_00,
 BODY_INCLUDES_PACKAGE,DKIMWL_WL_HIGH,DKIM_SIGNED,DKIM_VALID,
 DKIM_VALID_AU,DKIM_VALID_EF,FROMDEVELOPER,FVGT_m_MULTI_ODD,HAS_PACKAGE,
 PP_MIME_FAKE_ASCII_TEXT,USER_IN_DKIM_WELCOMELIST,X_DEBBUGS_CC
 autolearn=ham autolearn_force=no
 version=4.0.1-bugs.debian.org_2005_01_02
X-Spam-Bayes: score:0.0000 Tokens: new, 118; hammy, 150; neutral, 167; spammy,
 0. spammytokens: hammytokens:0.000-+--pkgbuilddir,
 0.000-+--PKGBUILDDIR, 0.000-+--cmake, 0.000-+--H*F:U*sanvila,
 0.000-+--H*rp:U*sanvila
Return-path: &lt;sanvila@debian.org&gt;
Received: from muffat.debian.org ([2607:f8f0:614:1::1274:33]:55482)
 by buxtehude.debian.org with esmtps
 (TLS1.3:ECDHE_SECP256R1__RSA_PSS_RSAE_SHA256__AES_256_GCM:256)
 (Exim 4.96) (envelope-from &lt;sanvila@debian.org&gt;) id 1w4NSF-00AzQU-09
 for submit@bugs.debian.org; Sun, 22 Mar 2026 18:23:15 +0000
Received: via submission
 from C=NA, ST=NA, L=Ankh Morpork, O=Debian SMTP, OU=Debian SMTP CA,
 CN=paradis.debian.org, EMAIL=hostmaster@paradis.debian.org (verified)
 by muffat.debian.org with esmtps
 (TLS1.3:ECDHE_SECP256R1__RSA_PSS_RSAE_SHA256__AES_256_GCM:256)
 (Exim 4.96) (envelope-from &lt;sanvila@debian.org&gt;) id 1w4NSG-00C6YS-0Q
 for submit@bugs.debian.org; Sun, 22 Mar 2026 18:23:14 +0000
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=debian.org; 
 s=smtpauto.paradis;
 h=Date:Message-Id:Subject:To:From:Reply-To:Cc:
 MIME-Version:Content-Type:Content-Transfer-Encoding:Content-ID:
 Content-Description:In-Reply-To:References;
 bh=fIAbZAMCosHDPJzBdrpTOG68l6fog1PJEqQQep+iExg=; b=C4HnLnfRVGYXRAE2nIjtFjLzbr
 nDceYd565JzFwHMiDTU86/DRLnWy/atwYptJZ/ld6BGUeg6slOwrarzS5UyASuP5xrdleznwmc79E
 8Bt+bAH9FuH5VU75dWYwH3VOwI+5vgCnmpR5MrMhQDyeYfB9AzFs+WlLVJMoDhdj/chTmhTN+VKBA
 Z8L1HTQLQjZNdBQXkdvkmJuRwsTp+pOAoS8KEP24UkSci5KR89mK7MZs9r0FJHn7Nro0+Zs+d2B6O
 w3yGvpHDiYCAjTKfrGzQSLC4wmDVOA2AsemQBaLx58IkomgZaAzkoSL72WY3DiIqC9jqqNQ9mr7/5
 NYnSuKyg==;
Received: from sanvila by paradis.debian.org with local (Exim 4.96)
 (envelope-from &lt;sanvila@debian.org&gt;) id 1w4NSE-00Fxy1-2l
 for submit@bugs.debian.org; Sun, 22 Mar 2026 18:23:14 +0000
From: Santiago Vila &lt;sanvila@debian.org&gt;
To: Debian BTS &lt;submit@bugs.debian.org&gt;
Subject: bornagain: FTBFS: error: return type 'class QQuaternion' is incomplete
X-Debbugs-Cc: sanvila@debian.org
Message-Id: &lt;E1w4NSE-00Fxy1-2l@paradis.debian.org&gt;
Date: Sun, 22 Mar 2026 18:23:14 +0000
Delivered-To: submit@bugs.debian.org

Package: src:bornagain
Version: 23.0-6
Severity: serious
Tags: ftbfs forky sid

Dear maintainer:

During a rebuild of all packages in unstable, this package failed to build.

Below you will find the last part of the build log (probably the most
relevant part, but not necessarily). If required, the full build log
is available here:

https://people.debian.org/~sanvila/build-logs/202603/

About the archive rebuild: The build was made on virtual machines from AWS,
using sbuild and a reduced chroot with only build-essential packages.

If you cannot reproduce the bug please contact me privately, as I
am willing to provide ssh access to a virtual machine where the bug is
fully reproducible.

If this is really a bug in one of the build-depends, please use
reassign and add an affects on src:bornagain, so that this is still
visible in the BTS web page for this package.

Thanks.

--------------------------------------------------------------------------------
[...]
[ 28%] Building CXX object Tests/Unit/Fit/CMakeFiles/UnitTestFit.dir/MinimizerOptionsTest.cpp.o
cd /&lt;&lt;PKGBUILDDIR&gt;&gt;/obj-x86_64-linux-gnu/Tests/Unit/Fit &amp;&amp; / [too-long-redacted] it/Fit/MinimizerOptionsTest.cpp
[ 28%] Building CXX object Img3D/CMakeFiles/BornAgainImg3D.dir/Model/PlottableBody.cpp.o
cd /&lt;&lt;PKGBUILDDIR&gt;&gt;/obj-x86_64-linux-gnu/Img3D &amp;&amp; /usr/bin/c [too-long-redacted] &gt;/Img3D/Model/PlottableBody.cpp
[01m[K/&lt;&lt;PKGBUILDDIR&gt;&gt;/Img3D/Model/PlottableBody.cpp:24:53:[m[K [01;31m[Kerror: [m[Kreturn type ‘[01m[Kclass QQuaternion[m[K’ is incomplete
   24 | QQuaternion EulerToQuaternion(const Img3D::F3&amp; euler[01;31m[K)[m[K
      |                                                     [01;31m[K^[m[K
[01m[K/&lt;&lt;PKGBUILDDIR&gt;&gt;/Img3D/Model/PlottableBody.cpp:[m[K In function ‘[01m[Kvoid {anonymous}::[01;32m[KEulerToQuaternion[m[K(const Img3D::F3&amp;)[m[K’:
[01m[K/&lt;&lt;PKGBUILDDIR&gt;&gt;/Img3D/Model/PlottableBody.cpp:36:34:[m[K [01;31m[Kerror: [m[Ktoo many initializers for ‘[01m[KQQuaternion[m[K’
   36 |     return QQuaternion{a, b, c, d[01;31m[K}[m[K;
      |                                  [01;31m[K^[m[K
[01m[K/&lt;&lt;PKGBUILDDIR&gt;&gt;/Img3D/Model/PlottableBody.cpp:[m[K In function ‘[01m[KImg3D::F3 {anonymous}::[01;32m[KQuaternionToEuler[m[K(const QQuaternion&amp;)[m[K’:
[01m[K/&lt;&lt;PKGBUILDDIR&gt;&gt;/Img3D/Model/PlottableBody.cpp:41:17:[m[K [01;31m[Kerror: [m[Kinvalid use of incomplete type ‘[01m[Kconst class QQuaternion[m[K’
   41 |     auto qvec = [01;31m[Kq[m[K.toVector4D();
      |                 [01;31m[K^[m[K
In file included from [01m[K/usr/include/x86_64-linux-gnu/qt6/QtGui/qgenericmatrix.h:8[m[K,
                 from [01m[K/usr/include/x86_64-linux-gnu/qt6/QtGui/qmatrix4x4.h:10[m[K,
                 from [01m[K/usr/include/x86_64-linux-gnu/qt6/QtGui/QMatrix4x4:1[m[K,
                 from [01m[K/&lt;&lt;PKGBUILDDIR&gt;&gt;/Img3D/Model/PlottableBody.h:22[m[K,
                 from [01m[K/&lt;&lt;PKGBUILDDIR&gt;&gt;/Img3D/Model/PlottableBody.cpp:15[m[K:
[01m[K/usr/include/x86_64-linux-gnu/qt6/QtCore/qmetatype.h:1550:1:[m[K [01;36m[Knote: [m[Kforward declaration of ‘[01m[Kclass QQuaternion[m[K’
 1550 | [01;36m[KQT_FOR_EACH_STATIC_GUI_CLASS[m[K(QT_FORWARD_DECLARE_STATIC_TYPES_ITER)
      | [01;36m[K^~~~~~~~~~~~~~~~~~~~~~~~~~~~[m[K
[01m[K/&lt;&lt;PKGBUILDDIR&gt;&gt;/Img3D/Model/PlottableBody.cpp:[m[K In member function ‘[01m[Kvoid Img3D::PlottableBody::[01;32m[Ktransform[m[K(Img3D::F3, Img3D::F3, Img3D::F3)[m[K’:
[01m[K/&lt;&lt;PKGBUILDDIR&gt;&gt;/Img3D/Model/PlottableBody.cpp:93:38:[m[K [01;31m[Kerror: [m[Kinvalid use of void expression
   93 |     m_matrix.rotate([01;31m[KEulerToQuaternion(rotate)[m[K);
      |                     [01;31m[K~~~~~~~~~~~~~~~~~^~~~~~~~[m[K
[01m[K/&lt;&lt;PKGBUILDDIR&gt;&gt;/Img3D/Model/PlottableBody.cpp:[m[K In member function ‘[01m[Kvoid Img3D::PlottableBody::[01;32m[Ktransform[m[K(Img3D::F3, Img3D::F3, Img3D::F3, Img3D::F3)[m[K’:
[01m[K/&lt;&lt;PKGBUILDDIR&gt;&gt;/Img3D/Model/PlottableBody.cpp:105:38:[m[K [01;31m[Kerror: [m[Kinvalid use of void expression
  105 |     m_matrix.rotate([01;31m[KEulerToQuaternion(rotate)[m[K);
      |                     [01;31m[K~~~~~~~~~~~~~~~~~^~~~~~~~[m[K
[01m[K/&lt;&lt;PKGBUILDDIR&gt;&gt;/Img3D/Model/PlottableBody.cpp:107:38:[m[K [01;31m[Kerror: [m[Kinvalid use of void expression
  107 |     m_matrix.rotate([01;31m[KEulerToQuaternion(turn)[m[K);
      |                     [01;31m[K~~~~~~~~~~~~~~~~~^~~~~~[m[K
[01m[K/&lt;&lt;PKGBUILDDIR&gt;&gt;/Img3D/Model/PlottableBody.cpp:[m[K In member function ‘[01m[Kvoid Img3D::PlottableBody::[01;32m[KaddExtrinsicRotation[m[K(Img3D::F3, Img3D::F3, Img3D::F3&amp;, Img3D::F3, Img3D::F3&amp;)[m[K’:
[01m[K/&lt;&lt;PKGBUILDDIR&gt;&gt;/Img3D/Model/PlottableBody.cpp:116:38:[m[K [01;31m[Kerror: [m[Kinvalid use of void expression
  116 |     m_matrix.rotate([01;31m[KEulerToQuaternion(rotateExtrinsic)[m[K);
      |                     [01;31m[K~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~[m[K
[01m[K/&lt;&lt;PKGBUILDDIR&gt;&gt;/Img3D/Model/PlottableBody.cpp:118:38:[m[K [01;31m[Kerror: [m[Kinvalid use of void expression
  118 |     m_matrix.rotate([01;31m[KEulerToQuaternion(rotate)[m[K);
      |                     [01;31m[K~~~~~~~~~~~~~~~~~^~~~~~~~[m[K
[01m[K/&lt;&lt;PKGBUILDDIR&gt;&gt;/Img3D/Model/PlottableBody.cpp:120:38:[m[K [01;31m[Kerror: [m[Kinvalid use of void expression
  120 |     m_matrix.rotate([01;31m[KEulerToQuaternion(turn)[m[K);
      |                     [01;31m[K~~~~~~~~~~~~~~~~~^~~~~~[m[K
[01m[K/&lt;&lt;PKGBUILDDIR&gt;&gt;/Img3D/Model/PlottableBody.cpp:123:17:[m[K [01;31m[Kerror: [m[Kvariable ‘[01m[KQQuaternion q[m[K’ has initializer but incomplete type
  123 |     QQuaternion [01;31m[Kq[m[K = EulerToQuaternion(rotateExtrinsic) * EulerToQuaternion(rotate);
      |                 [01;31m[K^[m[K
[01m[K/&lt;&lt;PKGBUILDDIR&gt;&gt;/Img3D/Model/PlottableBody.cpp:123:56:[m[K [01;31m[Kerror: [m[Kinvalid operands of types ‘[01m[Kvoid[m[K’ and ‘[01m[Kvoid[m[K’ to binary ‘[01m[Koperator*[m[K’
  123 |     QQuaternion q = [01;32m[KE[m[K[01;32m[Ku[ [too-long-redacted] 4m[Ke[m[K[01;34m[K)[m[K;
      |                     [01;32m[K~[m[K[01;32m[K~[ [too-long-redacted] 34m[K~[m[K[01;34m[K~[m[K
      |                                      [01;32m[K|[m[K                                    [01;34m[K|[m[K
      |                                      [01;32m[Kvoid[m[K                                 [01;34m[Kvoid[m[K
[01m[K/&lt;&lt;PKGBUILDDIR&gt;&gt;/Img3D/Model/PlottableBody.cpp:127:34:[m[K [01;31m[Kerror: [m[Kinvalid use of ‘[01m[Kvoid[m[K’
  127 |     translate = [01;31m[KEulerToQuaternion(rotateExtrinsic)[m[K.rotatedVector(translate);
      |                 [01;31m[K~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~[m[K
[ 28%] Building CXX object Tests/Unit/Fit/CMakeFiles/UnitTestFit.dir/MultiOptionTest.cpp.o
cd /&lt;&lt;PKGBUILDDIR&gt;&gt;/obj-x86_64-linux-gnu/Tests/Unit/Fit &amp;&amp; / [too-long-redacted] ts/Unit/Fit/MultiOptionTest.cpp
[01m[K/&lt;&lt;PKGBUILDDIR&gt;&gt;/Img3D/Model/PlottableBody.cpp:[m[K At global scope:
[01m[K/&lt;&lt;PKGBUILDDIR&gt;&gt;/Img3D/Model/PlottableBody.cpp:39:11:[m[K [01;35m[Kwarning: [m[K‘[01m[KImg3D::F3 {anonymous}::[01;32m[KQuaternionToEuler[m[K(const QQuaternion&amp;)[m[K’ defined but not used [[01;35m[K-Wunused-function[m[K]
   39 | Img3D::F3 [01;35m[KQuaternionToEuler[m[K(const QQuaternion&amp; q)
      |           [01;35m[K^~~~~~~~~~~~~~~~~[m[K
make[4]: *** [Img3D/CMakeFiles/BornAgainImg3D.dir/build.make:384: Img3D/CMakeFiles/BornAgainImg3D.dir/Model/PlottableBody.cpp.o] Error 1
make[4]: Leaving directory '/&lt;&lt;PKGBUILDDIR&gt;&gt;/obj-x86_64-linux-gnu'
make[3]: *** [CMakeFiles/Makefile2:3179: Img3D/CMakeFiles/BornAgainImg3D.dir/all] Error 2
make[3]: *** Waiting for unfinished jobs....
[ 28%] Building CXX object Tests/Unit/Fit/CMakeFiles/UnitTestFit.dir/OptionContainerTest.cpp.o
cd /&lt;&lt;PKGBUILDDIR&gt;&gt;/obj-x86_64-linux-gnu/Tests/Unit/Fit &amp;&amp; / [too-long-redacted] nit/Fit/OptionContainerTest.cpp
[ 28%] Building CXX object Tests/Unit/Fit/CMakeFiles/UnitTestFit.dir/ParameterTest.cpp.o
cd /&lt;&lt;PKGBUILDDIR&gt;&gt;/obj-x86_64-linux-gnu/Tests/Unit/Fit &amp;&amp; / [too-long-redacted] ests/Unit/Fit/ParameterTest.cpp
[ 28%] Building CXX object Tests/Unit/Fit/CMakeFiles/UnitTestFit.dir/ParametersTest.cpp.o
cd /&lt;&lt;PKGBUILDDIR&gt;&gt;/obj-x86_64-linux-gnu/Tests/Unit/Fit &amp;&amp; / [too-long-redacted] sts/Unit/Fit/ParametersTest.cpp
[ 28%] Building CXX object Tests/Unit/Fit/CMakeFiles/UnitTestFit.dir/RealLimitsTest.cpp.o
cd /&lt;&lt;PKGBUILDDIR&gt;&gt;/obj-x86_64-linux-gnu/Tests/Unit/Fit &amp;&amp; / [too-long-redacted] sts/Unit/Fit/RealLimitsTest.cpp
[ 29%] Linking CXX executable ../../../bin/UnitTestFit
cd /&lt;&lt;PKGBUILDDIR&gt;&gt;/obj-x86_64-linux-gnu/Tests/Unit/Fit &amp;&amp; /usr/bin/cmake -E cmake_link_script CMakeFiles/UnitTestFit.dir/link.txt --verbose=1
/usr/bin/c++ -g -O2 -ffile-prefix-map=/&lt;&lt;PKGBUILDDIR&gt;&gt;=. -fs [too-long-redacted] ../../../lib/libgtest.so.1.14.0
make[4]: Leaving directory '/&lt;&lt;PKGBUILDDIR&gt;&gt;/obj-x86_64-linux-gnu'
[ 29%] Built target UnitTestFit
make[3]: Leaving directory '/&lt;&lt;PKGBUILDDIR&gt;&gt;/obj-x86_64-linux-gnu'
make[2]: *** [Makefile:169: all] Error 2
make[2]: Leaving directory '/&lt;&lt;PKGBUILDDIR&gt;&gt;/obj-x86_64-linux-gnu'
dh_auto_build: error: cd obj-x86_64-linux-gnu &amp;&amp; make -j2 INSTALL=&quot;install --strip-program=true&quot; VERBOSE=1 returned exit code 2
make[1]: *** [debian/rules:48: override_dh_auto_build-arch] Error 25
make[1]: Leaving directory '/&lt;&lt;PKGBUILDDIR&gt;&gt;'
make: *** [debian/rules:35: binary] Error 2
dpkg-buildpackage: error: debian/rules binary subprocess failed with exit status 2
--------------------------------------------------------------------------------
]