1 |
Hello, |
2 |
|
3 |
On Wed, 03 Jun 2020, tuxic@××××××.de wrote: |
4 |
>In file included from /usr/include/qt5/QtCore/qhashfunctions.h:44, |
5 |
> from /usr/include/qt5/QtCore/qlist.h:47, |
6 |
> from /usr/include/qt5/QtCore/qstringlist.h:41, |
7 |
> from /usr/include/qt5/QtGui/qcolor.h:46, |
8 |
> from /usr/include/qt5/QtGui/qpixmap.h:45, |
9 |
> from /usr/include/qt5/QtGui/QPixmap:1, |
10 |
> from ../widgets/pixmapdial.hpp:21, |
11 |
> from ../widgets/pixmapdial.cpp:18: |
12 |
>/usr/include/qt5/QtCore/qstring.h:393:14: note: declared here |
13 |
> 393 | QString &sprintf(const char *format, ...) Q_ATTRIBUTE_FORMAT_PRINTF(2, 3); |
14 |
> | ^~~~~~~ |
15 |
>../widgets/pixmapdial.cpp: In member function 'virtual void PixmapDial::paintEvent(QPaintEvent*)': |
16 |
>../widgets/pixmapdial.cpp:231:26: error: aggregate 'QPainterPath ballPath' has incomplete type and cannot be defined |
17 |
> 231 | QPainterPath ballPath; |
18 |
> | ^~~~~~~~ |
19 |
|
20 |
I think something similar was on this list a couple of days ago, it's |
21 |
a missing include (that wasn't neccessary before Qt5.15), there's 21 |
22 |
similar bugs filed already c.f.[1]. |
23 |
|
24 |
A quick and easy fix for this problem should be this: |
25 |
|
26 |
1. create a file /etc/portage/env/missing-qpainterpath-flags and insert |
27 |
this line: |
28 |
|
29 |
==== |
30 |
CXXFLAGS="${CXXFLAGS} -include QPainterPath" |
31 |
==== |
32 |
|
33 |
2. add the line |
34 |
|
35 |
==== |
36 |
=media-sound/cadence-0.9.0-r4 missing-qpainterpath-flags |
37 |
==== |
38 |
|
39 |
to /etc/portage/package.env (or /e/p/package.env/qpainterpath.env or |
40 |
some such if you've "directoryfied" your package.env (can you?) ;) |
41 |
|
42 |
[add more lines for specific package versions and revs for the same |
43 |
problem, see [1] for candidates] |
44 |
|
45 |
Yes, that is *quite an ugly hack*, but could be handy while stuff get's |
46 |
patched to work with that specific change of Qt5.15... |
47 |
|
48 |
FWIW: that includes that QPainterPath header in _all_ C++ sources, but |
49 |
what the hey, compilers are so good today, that they throw away |
50 |
anything unused, so it should not matter. It'll slow down the compile |
51 |
a bit... |
52 |
|
53 |
Once e.g. media-sound/cadence is fixed and revbumped/versionbumped, |
54 |
delete that line from package.env. |
55 |
|
56 |
It works here for a quick: |
57 |
|
58 |
==== |
59 |
# ebuild cadence-0.9.0-r4.ebuid compile |
60 |
[..] |
61 |
c++ -c ../widgets/pixmapdial.cpp -O3 -ffast-math -mtune=generic -msse |
62 |
-mfpmath=sse -Wall -Wextra -DNDEBUG -fPIC -std=c++0x -pipe -O3 |
63 |
-march=native -mtune=native |
64 |
[..] |
65 |
-std=gnu++14 -include QPainterPath -DQT_NO_DEBUG -DQT_NO_DEBUG_STREAM |
66 |
-DQT_NO_DEBUG_OUTPUT -I../widgets -I/usr/include/qt5/QtCore |
67 |
-I/usr/include/qt5 -I/usr/include/qt5/QtGui -DQT_WIDGETS_LIB |
68 |
-I/usr/include/qt5/QtWidgets -DQT_GUI_LIB -DQT_CORE_LIB -o |
69 |
../widgets/pixmapdial.o |
70 |
c++ -c ../widgets/pixmapkeyboard.cpp [..] |
71 |
[..] |
72 |
>>> Source compiled. |
73 |
==== |
74 |
|
75 |
HTH, |
76 |
-dnh, tending to be very pragmatic in cases like this ;) |
77 |
|
78 |
[1] https://bugs.gentoo.org/buglist.cgi?bug_status=UNCONFIRMED&bug_status=CONFIRMED&bug_status=IN_PROGRESS&bug_status=RESOLVED&bug_status=VERIFIED&f0=OP&f1=OP&f2=alias&f3=short_desc&f4=CP&f5=CP&j1=OR&o2=substring&o3=substring&order=bug_id |
79 |
|
80 |
-- |
81 |
"Humans need fantasy .. to *be* human" -- Death (in Hogfather) |