Gentoo Archives: gentoo-user

From: David Haller <gentoo@×××××××.de>
To: gentoo-user@l.g.o
Subject: Re: [gentoo-user] Screenrecording with audio from firefox
Date: Wed, 03 Jun 2020 17:38:52
Message-Id: 20200603173833.o4db34uavoc4qiws@grusum.endjinn.de
In Reply to: Re: [gentoo-user] Screenrecording with audio from firefox by tuxic@posteo.de
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)

Replies

Subject Author
Re: [gentoo-user] Screenrecording with audio from firefox David Haller <gentoo@×××××××.de>