Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!

Bug 727746

Summary: sci-geosciences/qgis-3.10.3 w/ Qt 5.15: src/core/symbology/qgsmarkersymbollayer.h:982:18: er ror: field ‘mCachedPath’ has incomplete type ‘QPainterPath’
Product: Gentoo Linux Reporter: Daniel M. Weeks <dan>
Component: Current packagesAssignee: Sci-geo Project <sci-geosciences>
Status: RESOLVED FIXED    
Severity: normal CC: sac
Priority: Normal Keywords: PATCH
Version: unspecified   
Hardware: All   
OS: Linux   
See Also: https://bugs.gentoo.org/show_bug.cgi?id=729020
Whiteboard:
Package list:
Runtime testing required: ---
Bug Depends on:    
Bug Blocks: 726178    

Description Daniel M. Weeks 2020-06-10 00:34:56 UTC
It appears some backporting/updating is necessary. Some 5.15 support just landed upstream a few days ago: https://github.com/qgis/QGIS/commit/31f586ec (and for 3.10 LTR: https://github.com/qgis/QGIS/commit/3b4cf839f3ae0de537e278e7f7fb24be2949f9ce) I've tested the 3.10 patch on the existing 3.10.3 ebuild and it does build successfully.

Among the many warnings:

FAILED: src/core/CMakeFiles/qgis_core.dir/symbology/qgsarrowsymbollayer.cpp.o
FAILED: src/core/CMakeFiles/qgis_core.dir/symbology/qgsfillsymbollayer.cpp.o

In file included from /mnt/dev/tmp/portage/sci-geosciences/qgis-3.10.3/work/qgis-3.10.3/src/core/symbology/qgsellipses
ymbollayer.h:22,
                 from /mnt/dev/tmp/portage/sci-geosciences/qgis-3.10.3/work/qgis-3.10.3/src/core/symbology/qgsellipses
ymbollayer.cpp:15:
/mnt/dev/tmp/portage/sci-geosciences/qgis-3.10.3/work/qgis-3.10.3/src/core/symbology/qgsmarkersymbollayer.h:982:18: er
ror: field ‘mCachedPath’ has incomplete type ‘QPainterPath’
  982 |     QPainterPath mCachedPath;
      |                  ^~~~~~~~~~~
In file included from /usr/include/qt5/QtGui/qtransform.h:43,
                 from /usr/include/qt5/QtGui/QTransform:1,
                 from /mnt/dev/tmp/portage/sci-geosciences/qgis-3.10.3/work/qgis-3.10.3/src/core/qgsmaptopixel.h:22,
                 from /mnt/dev/tmp/portage/sci-geosciences/qgis-3.10.3/work/qgis-3.10.3/src/core/qgsrendercontext.h:29
,              
                 from /mnt/dev/tmp/portage/sci-geosciences/qgis-3.10.3/work/qgis-3.10.3/src/core/symbology/qgssymbol.h
:25,           
                 from /mnt/dev/tmp/portage/sci-geosciences/qgis-3.10.3/work/qgis-3.10.3/src/core/symbology/qgssymbolla
yer.h:30,      
                 from /mnt/dev/tmp/portage/sci-geosciences/qgis-3.10.3/work/qgis-3.10.3/src/core/symbology/qgsmarkersy
mbollayer.h:21,
                 from /mnt/dev/tmp/portage/sci-geosciences/qgis-3.10.3/work/qgis-3.10.3/src/core/symbology/qgsellipses
ymbollayer.h:22,
                 from /mnt/dev/tmp/portage/sci-geosciences/qgis-3.10.3/work/qgis-3.10.3/src/core/symbology/qgsellipses
ymbollayer.cpp:15:
/usr/include/qt5/QtGui/qmatrix.h:54:7: note: forward declaration of ‘class QPainterPath’
   54 | class QPainterPath;
      |       ^~~~~~~~~~~~

Reproducible: Always
Comment 1 Stephen Cavilia 2020-06-10 13:29:40 UTC
Upstream issue: https://github.com/qgis/QGIS/issues/37005

Patches mentioned there will both apply to 3.10.3, fixes the first error but python/sip fails later.
Comment 2 Daniel M. Weeks 2020-06-10 14:30:45 UTC
(In reply to Stephen Cavilia from comment #1)
> Upstream issue: https://github.com/qgis/QGIS/issues/37005
> 
> Patches mentioned there will both apply to 3.10.3, fixes the first error but
> python/sip fails later.

I found that bug report but I don't believe all the patches referenced are necessary here. That's for 3.12 and Gentoo has the LTR 3.10.

I tested the single qt5.15 patch I mentioned previously and it builds without error and runs fine.
Comment 3 Stephen Cavilia 2020-06-10 14:42:41 UTC
Didn't see the patch in your original post but 31f586ec is the one I applied. I can build it but only with USE=-python.
Comment 4 Daniel M. Weeks 2020-06-10 16:13:20 UTC
(In reply to Stephen Cavilia from comment #3)
> Didn't see the patch in your original post but 31f586ec is the one I
> applied. I can build it but only with USE=-python.

I have it built with python 3.7. Which python version did you try to use?
Comment 5 Stephen Cavilia 2020-06-10 19:17:57 UTC
Also using 3.7. With python enabled I get:

/var/tmp/portage/sci-geosciences/qgis-3.10.3/work/qgis-3.10.3_build/python/analysis/sip_analysispart1.cpp: In function ‘void assign_QgsGeometryCheckErrorSingle(void*, Py_ssize_t, void*)’:
/var/tmp/portage/sci-geosciences/qgis-3.10.3/work/qgis-3.10.3_build/python/analysis/sip_analysispart1.cpp:1308:135: error: use of deleted function ‘QgsGeometryCheckErrorSingle& QgsGeometryCheckErrorSingle::operator=(const QgsGeometryCheckErrorSingle&)’
 1308 | static void dealloc_QgsGeometryCheckErrorSingle(sipSimpleWrapper *sipSelf)
      |                                                                                                                                       ^
In file included from /var/tmp/portage/sci-geosciences/qgis-3.10.3/work/qgis-3.10.3_build/python/analysis/auto_generated/vector/geometry_checker/qgssinglegeometrycheck.sip:97:
/var/tmp/portage/sci-geosciences/qgis-3.10.3/work/qgis-3.10.3/src/analysis/vector/geometry_checker/qgssinglegeometrycheck.h:115:23: note: ‘QgsGeometryCheckErrorSingle& QgsGeometryCheckErrorSingle::operator=(const QgsGeometryCheckErrorSingle&)’ is implicitly deleted because the default definition would be ill-formed:
  115 | class ANALYSIS_EXPORT QgsGeometryCheckErrorSingle : public QgsGeometryCheckError
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~
/var/tmp/portage/sci-geosciences/qgis-3.10.3/work/qgis-3.10.3/src/analysis/vector/geometry_checker/qgssinglegeometrycheck.h:115:23: error: use of deleted function ‘const QgsGeometryCheckError& QgsGeometryCheckError::operator=(const QgsGeometryCheckError&)’
In file included from /var/tmp/portage/sci-geosciences/qgis-3.10.3/work/qgis-3.10.3_build/python/analysis/auto_generated/vector/geometry_checker/qgsgeometrycheckerror.sip:27:
/var/tmp/portage/sci-geosciences/qgis-3.10.3/work/qgis-3.10.3/src/analysis/vector/geometry_checker/qgsgeometrycheckerror.h:75:34: note: declared here
   75 |     const QgsGeometryCheckError &operator=( const QgsGeometryCheckError & ) = delete;
      |                                  ^~~~~~~~
Comment 6 Stephen Cavilia 2020-06-11 18:37:39 UTC
Python issue seems to be with sip 4.19.23. Downgrading to 4.19.22 allows qgis to build.
Comment 7 Larry the Git Cow gentoo-dev 2020-06-21 15:25:32 UTC
The bug has been closed via the following commit(s):

https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=292e1386ca002aa1bea44374924204e8ebd5c9fd

commit 292e1386ca002aa1bea44374924204e8ebd5c9fd
Author:     Andreas Sturmlechner <asturm@gentoo.org>
AuthorDate: 2020-06-21 13:06:40 +0000
Commit:     Andreas Sturmlechner <asturm@gentoo.org>
CommitDate: 2020-06-21 15:24:48 +0000

    sci-geosciences/qgis: 3.10.7 version bump
    
    Contains upstream fixes for build with Qt 5.15 and PyQt5 5.15.
    
    Closes: https://bugs.gentoo.org/712684
    Closes: https://bugs.gentoo.org/716486
    Closes: https://bugs.gentoo.org/727746
    Package-Manager: Portage-2.3.101, Repoman-2.3.22
    Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>

 sci-geosciences/qgis/Manifest           |   1 +
 sci-geosciences/qgis/qgis-3.10.7.ebuild | 204 ++++++++++++++++++++++++++++++++
 sci-geosciences/qgis/qgis-9999.ebuild   |  40 +++----
 3 files changed, 224 insertions(+), 21 deletions(-)