Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 726960 - sci-libs/vtk-8.2.0 w/ Qt 5.15: error: aggregate ‘QPainterPath path’ has incomplete type and cannot be defined
Summary: sci-libs/vtk-8.2.0 w/ Qt 5.15: error: aggregate ‘QPainterPath path’ has incom...
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Gentoo Science Related Packages
URL:
Whiteboard:
Keywords: PATCH
: 726676 (view as bug list)
Depends on:
Blocks: qt-5.15
  Show dependency tree
 
Reported: 2020-06-03 18:10 UTC by Attila Tóth
Modified: 2020-07-01 21:20 UTC (History)
1 user (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
VTK-8.2.0-Qt-5.15-compat.patch (VTK-8.2.0-Qt-5.15-compat.patch,908 bytes, patch)
2020-06-03 18:16 UTC, Attila Tóth
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Attila Tóth 2020-06-03 18:10:57 UTC
After bumping Qt to 5.15, VTK-8.2.0 fails to compile:

/usr/bin/x86_64-pc-linux-gnu-g++ -DQT_CORE_LIB -DQT_GUI_LIB -DQT_NO_DEBUG -DQT_WIDGETS_LIB -DVTK_IN_VTK -DvtkRenderingQt_EXPORTS -IRendering/Qt -I/var/tmp/portage/sci-libs/vtk-8.2.0-r3/work/VTK-8.2.0/Rendering/Qt -ICommon/Core -I/var/tmp/portage/sci-libs/vtk-8.2.0-r3/work/VTK-8.2.0/Common/Core -IUtilities/KWIML -I/var/tmp/portage/sci-libs/vtk-8.2.0-r3/work/VTK-8.2.0/Utilities/KWIML -IUtilities/KWSys -I/var/tmp/portage/sci-libs/vtk-8.2.0-r3/work/VTK-8.2.0/Utilities/KWSys -IThirdParty/utf8 -I/var/tmp/portage/sci-libs/vtk-8.2.0-r3/work/VTK-8.2.0/ThirdParty/utf8 -ICommon/DataModel -I/var/tmp/portage/sci-libs/vtk-8.2.0-r3/work/VTK-8.2.0/Common/DataModel -ICommon/Math -I/var/tmp/portage/sci-libs/vtk-8.2.0-r3/work/VTK-8.2.0/Common/Math -ICommon/Misc -I/var/tmp/portage/sci-libs/vtk-8.2.0-r3/work/VTK-8.2.0/Common/Misc -ICommon/System -I/var/tmp/portage/sci-libs/vtk-8.2.0-r3/work/VTK-8.2.0/Common/System -ICommon/Transforms -I/var/tmp/portage/sci-libs/vtk-8.2.0-r3/work/VTK-8.2.0/Common/Transforms -ICommon/ExecutionModel -I/var/tmp/portage/sci-libs/vtk-8.2.0-r3/work/VTK-8.2.0/Common/ExecutionModel -IFilters/Sources -I/var/tmp/portage/sci-libs/vtk-8.2.0-r3/work/VTK-8.2.0/Filters/Sources -ICommon/ComputationalGeometry -I/var/tmp/portage/sci-libs/vtk-8.2.0-r3/work/VTK-8.2.0/Common/ComputationalGeometry -IFilters/Core -I/var/tmp/portage/sci-libs/vtk-8.2.0-r3/work/VTK-8.2.0/Filters/Core -IFilters/General -I/var/tmp/portage/sci-libs/vtk-8.2.0-r3/work/VTK-8.2.0/Filters/General -IFilters/Texture -I/var/tmp/portage/sci-libs/vtk-8.2.0-r3/work/VTK-8.2.0/Filters/Texture -IGUISupport/Qt -I/var/tmp/portage/sci-libs/vtk-8.2.0-r3/work/VTK-8.2.0/GUISupport/Qt -IFilters/Extraction -I/var/tmp/portage/sci-libs/vtk-8.2.0-r3/work/VTK-8.2.0/Filters/Extraction -IFilters/Statistics -I/var/tmp/portage/sci-libs/vtk-8.2.0-r3/work/VTK-8.2.0/Filters/Statistics -IImaging/Fourier -I/var/tmp/portage/sci-libs/vtk-8.2.0-r3/work/VTK-8.2.0/Imaging/Fourier -IImaging/Core -I/var/tmp/portage/sci-libs/vtk-8.2.0-r3/work/VTK-8.2.0/Imaging/Core -IThirdParty/eigen -I/var/tmp/portage/sci-libs/vtk-8.2.0-r3/work/VTK-8.2.0/ThirdParty/eigen -I/usr/include/eigen3 -IInteraction/Style -I/var/tmp/portage/sci-libs/vtk-8.2.0-r3/work/VTK-8.2.0/Interaction/Style -IRendering/Core -I/var/tmp/portage/sci-libs/vtk-8.2.0-r3/work/VTK-8.2.0/Rendering/Core -ICommon/Color -I/var/tmp/portage/sci-libs/vtk-8.2.0-r3/work/VTK-8.2.0/Common/Color -IFilters/Geometry -I/var/tmp/portage/sci-libs/vtk-8.2.0-r3/work/VTK-8.2.0/Filters/Geometry -IRendering/OpenGL2 -I/var/tmp/portage/sci-libs/vtk-8.2.0-r3/work/VTK-8.2.0/Rendering/OpenGL2 -IThirdParty/glew -I/var/tmp/portage/sci-libs/vtk-8.2.0-r3/work/VTK-8.2.0/ThirdParty/glew -IRendering/Label -I/var/tmp/portage/sci-libs/vtk-8.2.0-r3/work/VTK-8.2.0/Rendering/Label -IRendering/FreeType -I/var/tmp/portage/sci-libs/vtk-8.2.0-r3/work/VTK-8.2.0/Rendering/FreeType -IThirdParty/freetype -I/var/tmp/portage/sci-libs/vtk-8.2.0-r3/work/VTK-8.2.0/ThirdParty/freetype -I/usr/include/freetype2 -IThirdParty/zlib -I/var/tmp/portage/sci-libs/vtk-8.2.0-r3/work/VTK-8.2.0/ThirdParty/zlib -isystem /usr/include/qt5 -isystem /usr/include/qt5/QtWidgets -isystem /usr/include/qt5/QtGui -isystem /usr/include/qt5/QtCore -isystem /usr/lib64/qt5/mkspecs/linux-g++  -D__STDC_CONSTANT_MACROS -D_UNICODE -DNDEBUG -O2 -march=native -pipe  -fPIC -fvisibility=hidden   -fPIC -std=c++11 -MD -MT Rendering/Qt/CMakeFiles/vtkRenderingQt.dir/vtkQtLabelRenderStrategy.cxx.o -MF Rendering/Qt/CMakeFiles/vtkRenderingQt.dir/vtkQtLabelRenderStrategy.cxx.o.d -o Rendering/Qt/CMakeFiles/vtkRenderingQt.dir/vtkQtLabelRenderStrategy.cxx.o -c /var/tmp/portage/sci-libs/vtk-8.2.0-r3/work/VTK-8.2.0/Rendering/Qt/vtkQtLabelRenderStrategy.cxx
In file included from Common/Core/vtkAtomic.h:28,
                 from /var/tmp/portage/sci-libs/vtk-8.2.0-r3/work/VTK-8.2.0/Common/Core/vtkAtomicTypes.h:18,
                 from /var/tmp/portage/sci-libs/vtk-8.2.0-r3/work/VTK-8.2.0/Common/Core/vtkObjectBase.h:54,
                 from /var/tmp/portage/sci-libs/vtk-8.2.0-r3/work/VTK-8.2.0/Common/Core/vtkObject.h:45,
                 from /var/tmp/portage/sci-libs/vtk-8.2.0-r3/work/VTK-8.2.0/Rendering/Label/vtkLabelRenderStrategy.h:27,
                 from /var/tmp/portage/sci-libs/vtk-8.2.0-r3/work/VTK-8.2.0/Rendering/Qt/vtkQtLabelRenderStrategy.h:29,
                 from /var/tmp/portage/sci-libs/vtk-8.2.0-r3/work/VTK-8.2.0/Rendering/Qt/vtkQtLabelRenderStrategy.cxx:15:
/usr/include/tbb/atomic.h:21:141: note: ‘#pragma message: TBB Warning: tbb/atomic.h is deprecated. For details, please see Deprecated Features appendix in the TBB reference manual.’
   21 | #pragma message("TBB Warning: tbb/atomic.h is deprecated. For details, please see Deprecated Features appendix in the TBB reference manual.")
      |                                                                                                                                             ^
/var/tmp/portage/sci-libs/vtk-8.2.0-r3/work/VTK-8.2.0/Rendering/Qt/vtkQtLabelRenderStrategy.cxx: In member function ‘virtual void vtkQtLabelRenderStrategy::ComputeLabelBounds(vtkTextProperty*, vtkUnicodeString, double*)’:
/var/tmp/portage/sci-libs/vtk-8.2.0-r3/work/VTK-8.2.0/Rendering/Qt/vtkQtLabelRenderStrategy.cxx:229:18: error: aggregate ‘QPainterPath path’ has incomplete type and cannot be defined
  229 |     QPainterPath path;
      |                  ^~~~
/var/tmp/portage/sci-libs/vtk-8.2.0-r3/work/VTK-8.2.0/Rendering/Qt/vtkQtLabelRenderStrategy.cxx: In member function ‘virtual void vtkQtLabelRenderStrategy::RenderLabel(int*, vtkTextProperty*, vtkUnicodeString, int)’:
/var/tmp/portage/sci-libs/vtk-8.2.0-r3/work/VTK-8.2.0/Rendering/Qt/vtkQtLabelRenderStrategy.cxx:331:16: error: aggregate ‘QPainterPath path’ has incomplete type and cannot be defined
  331 |   QPainterPath path;
      |                ^~~~
/var/tmp/portage/sci-libs/vtk-8.2.0-r3/work/VTK-8.2.0/Rendering/Qt/vtkQtLabelRenderStrategy.cxx: In member function ‘virtual void vtkQtLabelRenderStrategy::RenderLabel(int*, vtkTextProperty*, vtkUnicodeString)’:
/var/tmp/portage/sci-libs/vtk-8.2.0-r3/work/VTK-8.2.0/Rendering/Qt/vtkQtLabelRenderStrategy.cxx:442:18: error: aggregate ‘QPainterPath path’ has incomplete type and cannot be defined
  442 |     QPainterPath path;
      |                  ^~~~

Reproducible: Always
Comment 1 Attila Tóth 2020-06-03 18:12:43 UTC
Apart from vtkQtLabelRenderStrategy.cxx, the same goes for vtkQtStringToImage.cxx:

/usr/bin/x86_64-pc-linux-gnu-g++ -DQT_CORE_LIB -DQT_GUI_LIB -DQT_NO_DEBUG -DQT_WIDGETS_LIB -DVTK_IN_VTK -DvtkRenderingQt_EXPORTS -IRendering/Qt -I/var/tmp/portage/sci-libs/vtk-8.2.0-r3/work/VTK-8.2.0/Rendering/Qt -ICommon/Core -I/var/tmp/portage/sci-libs/vtk-8.2.0-r3/work/VTK-8.2.0/Common/Core -IUtilities/KWIML -I/var/tmp/portage/sci-libs/vtk-8.2.0-r3/work/VTK-8.2.0/Utilities/KWIML -IUtilities/KWSys -I/var/tmp/portage/sci-libs/vtk-8.2.0-r3/work/VTK-8.2.0/Utilities/KWSys -IThirdParty/utf8 -I/var/tmp/portage/sci-libs/vtk-8.2.0-r3/work/VTK-8.2.0/ThirdParty/utf8 -ICommon/DataModel -I/var/tmp/portage/sci-libs/vtk-8.2.0-r3/work/VTK-8.2.0/Common/DataModel -ICommon/Math -I/var/tmp/portage/sci-libs/vtk-8.2.0-r3/work/VTK-8.2.0/Common/Math -ICommon/Misc -I/var/tmp/portage/sci-libs/vtk-8.2.0-r3/work/VTK-8.2.0/Common/Misc -ICommon/System -I/var/tmp/portage/sci-libs/vtk-8.2.0-r3/work/VTK-8.2.0/Common/System -ICommon/Transforms -I/var/tmp/portage/sci-libs/vtk-8.2.0-r3/work/VTK-8.2.0/Common/Transforms -ICommon/ExecutionModel -I/var/tmp/portage/sci-libs/vtk-8.2.0-r3/work/VTK-8.2.0/Common/ExecutionModel -IFilters/Sources -I/var/tmp/portage/sci-libs/vtk-8.2.0-r3/work/VTK-8.2.0/Filters/Sources -ICommon/ComputationalGeometry -I/var/tmp/portage/sci-libs/vtk-8.2.0-r3/work/VTK-8.2.0/Common/ComputationalGeometry -IFilters/Core -I/var/tmp/portage/sci-libs/vtk-8.2.0-r3/work/VTK-8.2.0/Filters/Core -IFilters/General -I/var/tmp/portage/sci-libs/vtk-8.2.0-r3/work/VTK-8.2.0/Filters/General -IFilters/Texture -I/var/tmp/portage/sci-libs/vtk-8.2.0-r3/work/VTK-8.2.0/Filters/Texture -IGUISupport/Qt -I/var/tmp/portage/sci-libs/vtk-8.2.0-r3/work/VTK-8.2.0/GUISupport/Qt -IFilters/Extraction -I/var/tmp/portage/sci-libs/vtk-8.2.0-r3/work/VTK-8.2.0/Filters/Extraction -IFilters/Statistics -I/var/tmp/portage/sci-libs/vtk-8.2.0-r3/work/VTK-8.2.0/Filters/Statistics -IImaging/Fourier -I/var/tmp/portage/sci-libs/vtk-8.2.0-r3/work/VTK-8.2.0/Imaging/Fourier -IImaging/Core -I/var/tmp/portage/sci-libs/vtk-8.2.0-r3/work/VTK-8.2.0/Imaging/Core -IThirdParty/eigen -I/var/tmp/portage/sci-libs/vtk-8.2.0-r3/work/VTK-8.2.0/ThirdParty/eigen -I/usr/include/eigen3 -IInteraction/Style -I/var/tmp/portage/sci-libs/vtk-8.2.0-r3/work/VTK-8.2.0/Interaction/Style -IRendering/Core -I/var/tmp/portage/sci-libs/vtk-8.2.0-r3/work/VTK-8.2.0/Rendering/Core -ICommon/Color -I/var/tmp/portage/sci-libs/vtk-8.2.0-r3/work/VTK-8.2.0/Common/Color -IFilters/Geometry -I/var/tmp/portage/sci-libs/vtk-8.2.0-r3/work/VTK-8.2.0/Filters/Geometry -IRendering/OpenGL2 -I/var/tmp/portage/sci-libs/vtk-8.2.0-r3/work/VTK-8.2.0/Rendering/OpenGL2 -IThirdParty/glew -I/var/tmp/portage/sci-libs/vtk-8.2.0-r3/work/VTK-8.2.0/ThirdParty/glew -IRendering/Label -I/var/tmp/portage/sci-libs/vtk-8.2.0-r3/work/VTK-8.2.0/Rendering/Label -IRendering/FreeType -I/var/tmp/portage/sci-libs/vtk-8.2.0-r3/work/VTK-8.2.0/Rendering/FreeType -IThirdParty/freetype -I/var/tmp/portage/sci-libs/vtk-8.2.0-r3/work/VTK-8.2.0/ThirdParty/freetype -I/usr/include/freetype2 -IThirdParty/zlib -I/var/tmp/portage/sci-libs/vtk-8.2.0-r3/work/VTK-8.2.0/ThirdParty/zlib -isystem /usr/include/qt5 -isystem /usr/include/qt5/QtWidgets -isystem /usr/include/qt5/QtGui -isystem /usr/include/qt5/QtCore -isystem /usr/lib64/qt5/mkspecs/linux-g++  -D__STDC_CONSTANT_MACROS -D_UNICODE -DNDEBUG -O2 -march=native -pipe  -fPIC -fvisibility=hidden   -fPIC -std=c++11 -MD -MT Rendering/Qt/CMakeFiles/vtkRenderingQt.dir/vtkQtStringToImage.cxx.o -MF Rendering/Qt/CMakeFiles/vtkRenderingQt.dir/vtkQtStringToImage.cxx.o.d -o Rendering/Qt/CMakeFiles/vtkRenderingQt.dir/vtkQtStringToImage.cxx.o -c /var/tmp/portage/sci-libs/vtk-8.2.0-r3/work/VTK-8.2.0/Rendering/Qt/vtkQtStringToImage.cxx
In file included from Common/Core/vtkAtomic.h:28,
                 from /var/tmp/portage/sci-libs/vtk-8.2.0-r3/work/VTK-8.2.0/Common/Core/vtkAtomicTypes.h:18,
                 from /var/tmp/portage/sci-libs/vtk-8.2.0-r3/work/VTK-8.2.0/Common/Core/vtkObjectBase.h:54,
                 from /var/tmp/portage/sci-libs/vtk-8.2.0-r3/work/VTK-8.2.0/Common/Core/vtkObject.h:45,
                 from /var/tmp/portage/sci-libs/vtk-8.2.0-r3/work/VTK-8.2.0/Rendering/Core/vtkStringToImage.h:29,
                 from /var/tmp/portage/sci-libs/vtk-8.2.0-r3/work/VTK-8.2.0/Rendering/Qt/vtkQtStringToImage.h:28,
                 from /var/tmp/portage/sci-libs/vtk-8.2.0-r3/work/VTK-8.2.0/Rendering/Qt/vtkQtStringToImage.cxx:16:
/usr/include/tbb/atomic.h:21:141: note: ‘#pragma message: TBB Warning: tbb/atomic.h is deprecated. For details, please see Deprecated Features appendix in the TBB reference manual.’
   21 | #pragma message("TBB Warning: tbb/atomic.h is deprecated. For details, please see Deprecated Features appendix in the TBB reference manual.")
      |                                                                                                                                             ^
/var/tmp/portage/sci-libs/vtk-8.2.0-r3/work/VTK-8.2.0/Rendering/Qt/vtkQtStringToImage.cxx: In member function ‘virtual vtkVector2i vtkQtStringToImage::GetBounds(vtkTextProperty*, const vtkUnicodeString&, int)’:
/var/tmp/portage/sci-libs/vtk-8.2.0-r3/work/VTK-8.2.0/Rendering/Qt/vtkQtStringToImage.cxx:109:16: error: aggregate ‘QPainterPath path’ has incomplete type and cannot be defined
  109 |   QPainterPath path;
      |                ^~~~
/var/tmp/portage/sci-libs/vtk-8.2.0-r3/work/VTK-8.2.0/Rendering/Qt/vtkQtStringToImage.cxx: In member function ‘virtual vtkVector2i vtkQtStringToImage::GetBounds(vtkTextProperty*, const vtkStdString&, int)’:
/var/tmp/portage/sci-libs/vtk-8.2.0-r3/work/VTK-8.2.0/Rendering/Qt/vtkQtStringToImage.cxx:140:16: error: aggregate ‘QPainterPath path’ has incomplete type and cannot be defined
  140 |   QPainterPath path;
      |                ^~~~
/var/tmp/portage/sci-libs/vtk-8.2.0-r3/work/VTK-8.2.0/Rendering/Qt/vtkQtStringToImage.cxx: In member function ‘virtual int vtkQtStringToImage::RenderString(vtkTextProperty*, const vtkUnicodeString&, int, vtkImageData*, int*)’:
/var/tmp/portage/sci-libs/vtk-8.2.0-r3/work/VTK-8.2.0/Rendering/Qt/vtkQtStringToImage.cxx:187:16: error: aggregate ‘QPainterPath path’ has incomplete type and cannot be defined
  187 |   QPainterPath path;
      |                ^~~~
Comment 2 Attila Tóth 2020-06-03 18:16:38 UTC
Created attachment 643296 [details, diff]
VTK-8.2.0-Qt-5.15-compat.patch

Proposed patch adds the missing include for the two involved source files:
#include <QPainterPath>

Idea taken from:
https://github.com/alex47/BreezeBlurred/pull/23/commits/ef5cb1181507c63c6bdd00a5f32eeefbb6eef68b
Comment 3 Andreas Sturmlechner gentoo-dev 2020-06-03 18:21:09 UTC
*** Bug 726676 has been marked as a duplicate of this bug. ***
Comment 4 Andreas Sturmlechner gentoo-dev 2020-06-06 07:29:06 UTC
There's also an upstream commit: https://gitlab.kitware.com/vtk/vtk/-/commit/797f28697d5ba50c1fa2bc5596af626a3c277826
Comment 5 Larry the Git Cow gentoo-dev 2020-06-06 09:42:01 UTC
The bug has been closed via the following commit(s):

https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=3ca9613d7ad604c93d714e29b116952561e4e41c

commit 3ca9613d7ad604c93d714e29b116952561e4e41c
Author:     Andreas Sturmlechner <asturm@gentoo.org>
AuthorDate: 2020-06-06 08:41:08 +0000
Commit:     Andreas Sturmlechner <asturm@gentoo.org>
CommitDate: 2020-06-06 09:41:50 +0000

    sci-libs/vtk: Fix build with Qt 5.15
    
    Closes: https://bugs.gentoo.org/726960
    Package-Manager: Portage-2.3.100, Repoman-2.3.22
    Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>

 sci-libs/vtk/files/vtk-8.2.0-qt-5.15.patch | 37 ++++++++++++++++++++++++++++++
 sci-libs/vtk/vtk-8.2.0.ebuild              |  1 +
 2 files changed, 38 insertions(+)