Bug#960954: qgis: FTBFS with Qt 5.14: undefined reference to `Qt3DExtras::Qt3DWindow::Qt3DWindow(QScreen*)'

Dmitry Shachnev mitya57 at debian.org
Mon May 18 18:58:22 BST 2020


Source: qgis
Version: 3.10.5+dfsg-2
Severity: important
Tags: ftbfs
User: debian-qt-kde at lists.debian.org
Usertags: qt5.14

Dear Maintainer,

qgis fails to build with Qt 5.14, currently available in experimental:

  FAILED: output/lib/libqgis_3d.so.3.10.4
  [...]
  /usr/bin/ld: src/3d/CMakeFiles/qgis_3d.dir/qgswindow3dengine.cpp.o: in function `QgsWindow3DEngine::QgsWindow3DEngine()':
  ./debian/build/../../src/3d/qgswindow3dengine.cpp:25: undefined reference to `Qt3DExtras::Qt3DWindow::Qt3DWindow(QScreen*)'
  collect2: error: ld returned 1 exit status

This happens because we enabled Qt3DExtras headers and backported a commit
from 5.15 branch [1] that changes Qt3DWindow constructor signature, to make
sure we will not break ABI during 5.14 → 5.15 upgrade.

However, qgis uses its own Qt3D headers: it has this block in debian/rules:

  ifneq (,$(findstring $(DISTRIBUTION),"sid buster eoan focal"))
  # Qt3DExtras intentionally removed from debian (#895386) and in turn ubuntu
          CMAKE_OPTS += \
                  -DCMAKE_PREFIX_PATH=$(realpath external/qt3dextra-headers/cmake) \
                  -DQT5_3DEXTRA_INCLUDE_DIR=$(realpath external/qt3dextra-headers) \
                  -DQT5_3DEXTRA_LIBRARY=/usr/lib/$(DEB_BUILD_MULTIARCH)/libQt53DExtras.so
  endif

There are two ways to fix this problem:

a) Wait until 5.15 reaches unstable and then remove that block from rules.
b) Make that block conditional and enable it only for Qt < 5.14.

In Ubuntu, I removed that block [2] and then the package built fine.

[1]: https://salsa.debian.org/qt-kde-team/qt/qt3d/-/blob/experimental/debian/patches/qt3dwindow_constructor.diff
[2]: https://launchpadlibrarian.net/480154819/qgis_3.10.4+dfsg-1ubuntu6_3.10.4+dfsg-1ubuntu7.diff.gz

--
Dmitry Shachnev
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: not available
URL: <http://alioth-lists.debian.net/pipermail/pkg-grass-devel/attachments/20200518/dc0cf576/attachment.sig>


More information about the Pkg-grass-devel mailing list