Summary: | dev-qt/qtwebengine-5.12.5 fails to build with new media-sound/pulseaudio-13.0 : conflicting declaration of C function ‘pa_context_state_t pa_context_get_state(pa_context*)’ | ||
---|---|---|---|
Product: | Gentoo Linux | Reporter: | Guy <defuebr> |
Component: | Current packages | Assignee: | Qt Bug Alias <qt> |
Status: | RESOLVED FIXED | ||
Severity: | normal | CC: | david.narvaez, gentoo, jlp.bugs, kentnl, maggu2810, pbatishchev, ua_gentoo_bugzilla, wielkiegie |
Priority: | Normal | ||
Version: | unspecified | ||
Hardware: | All | ||
OS: | Linux | ||
See Also: | https://bugs.gentoo.org/show_bug.cgi?id=706376 | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- | |
Attachments: |
except from failed qt-webengine build log
Patch that fixes the issue pulseaudio_13.patch |
Description
Guy
2019-09-19 12:03:26 UTC
As additional info, inspection of the original "emerge --pretend @world output" shows the following order for package processing [ebuild U ] media-sound/pulseaudio-13.0 [ebuild U ] www-client/google-chrome-77.0.3865.75 [ebuild U ] dev-qt/qtwebengine-5.12.5 i.e. pulseaudio and google-chrome completed before qtwebengine failed. Of note: I only reverted pulseaudio in order to successfully complete qtwebengine. Of course, I could _only_ revert pulseaudio as emaint removed the prior versions of google-chrome. I'm seeing this failure as well Created attachment 590388 [details, diff]
Patch that fixes the issue
I have encountered the same problem. It seems that newer pulseaudio headers add const to some pointer parameters making them incompatible with the autogenerated stubs present in qtwebengine (chromium).
As I have no idea how to regenerate the stub file, I have prepared a patch that fixes it instead.
Abbreviated context of failure point for other searchers. ---- [6738/22571] /usr/bin/x86_64-pc-linux-gnu-g++ <...> -c gen/media/audio/pulse/pulse_stubs.cc -o obj/media/audio/audio/pulse_stubs.o FAILED: obj/media/audio/audio/pulse_stubs.o /usr/bin/x86_64-pc-linux-gnu-g++ <...> -c gen/media/audio/pulse/pulse_stubs.cc -o obj/media/audio/audio/pulse_stubs.o gen/media/audio/pulse/pulse_stubs.cc:155:27: error: conflicting declaration of C function ‘pa_context_state_t pa_context_get_state(pa_context*)’ 155 | extern pa_context_state_t pa_context_get_state(pa_context* c) __attribute__((weak)); | ^~~~~~~~~~~~~~~~~~~~ In file included from /usr/include/pulse/pulseaudio.h:29, from gen/media/audio/pulse/pulse_stubs.cc:16: /usr/include/pulse/context.h:199:20: note: previous declaration ‘pa_context_state_t pa_context_get_state(const pa_context*)’ 199 | pa_context_state_t pa_context_get_state(const pa_context *c); | ^~~~~~~~~~~~~~~~~~~~ gen/media/audio/pulse/pulse_stubs.cc:171:29: error: conflicting declaration of C function ‘pa_operation_state_t pa_operation_get_state(pa_operation*)’ 171 | extern pa_operation_state_t pa_operation_get_state(pa_operation* o) __attribute__((weak)); | ^~~~~~~~~~~~~~~~~~~~~~ ---- Qt bug: https://bugreports.qt.io/browse/QTBUG-77037 Pulse bug: https://gitlab.freedesktop.org/pulseaudio/pulseaudio/issues/707 Fedora bug: https://bugzilla.redhat.com/show_bug.cgi?id=1729806 Created attachment 590632 [details] pulseaudio_13.patch This patch works for me. Taken from bug #694896 Upstream has fixed this issue: https://codereview.qt-project.org/c/qt/qtwebengine-chromium/+/274842 https://codereview.qt-project.org/c/qt/qtwebengine-chromium/+/274847 https://codereview.qt-project.org/c/qt/qtwebengine-chromium/+/274848 We have to wait for the next release unless a band-aid patch is desired in the tree for the current versions.. Thanks Jan B for the patch can confirm it works. The bug has been closed via the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=aac59bedeac24a8a9341ac08066c0087efab4585 commit aac59bedeac24a8a9341ac08066c0087efab4585 Author: Andreas Sturmlechner <asturm@gentoo.org> AuthorDate: 2019-09-25 19:48:05 +0000 Commit: Andreas Sturmlechner <asturm@gentoo.org> CommitDate: 2019-09-25 21:33:54 +0000 dev-qt/qtwebengine: Fix build with >=media-sound/pulseaudio-13.0 Reported-by: Guy <defuebr@gmail.com> Tested-by: josef64 in #gentoo-qt IRC Closes: https://bugs.gentoo.org/694960 Package-Manager: Portage-2.3.76, Repoman-2.3.17 Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org> .../files/qtwebengine-5.12.5-pulseaudio-13.patch | 88 ++++++++++++++++++++++ dev-qt/qtwebengine/qtwebengine-5.12.5.ebuild | 1 + 2 files changed, 89 insertions(+) The bug has been closed via the following commit(s): https://gitweb.gentoo.org/proj/qt.git/commit/?id=02acf820c8992ba17f93c5f3b36baf31e5ddddcf commit 02acf820c8992ba17f93c5f3b36baf31e5ddddcf Author: Andreas Sturmlechner <asturm@gentoo.org> AuthorDate: 2019-09-30 19:27:42 +0000 Commit: Andreas Sturmlechner <asturm@gentoo.org> CommitDate: 2019-09-30 19:27:42 +0000 dev-qt/qtwebengine: Fix build with >=media-sound/pulseaudio-13.0 Closes: https://bugs.gentoo.org/694960 Package-Manager: Portage-2.3.76, Repoman-2.3.17 Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org> .../files/qtwebengine-5.13.1-pulseaudio-13.patch | 89 ++++++++++++++++++++++ dev-qt/qtwebengine/qtwebengine-5.13.1.ebuild | 1 + 2 files changed, 90 insertions(+) |