Summary: | dev-qt/qtwayland-5.15.2-r1 w/ >=media-libs/libglvnd-1.3.4: ERROR: Feature 'xcomposite-egl' was enabled, but the pre-condition 'features.wayland-client && ...' failed.) | ||
---|---|---|---|
Product: | Gentoo Linux | Reporter: | Austin Kilgore <kilgorephotoshop> |
Component: | Current packages | Assignee: | Qt Bug Alias <qt> |
Status: | RESOLVED FIXED | ||
Severity: | normal | CC: | b.buschinski, bjh-gentoobt, cctsurf, chris, creideiki+gentoo-bugzilla, email200202, fabio.coatti, finkandreas, flaviocamilo, gentoo, grozin, harrisl, josef64, Letto2, marek.bartosiewicz, mattst88, phobosk, polynomial-c, proteuss, radek.dvorak, realnc, rubick, sam, skobkin-ru, skunk, steffen.weber, sven.eden, tanekliang, toralf, ua_gentoo_bugzilla, venerix, xavier.miller, zeekec |
Priority: | Normal | Keywords: | PullRequest, UPSTREAM |
Version: | unspecified | ||
Hardware: | AMD64 | ||
OS: | Linux | ||
See Also: |
https://github.com/gentoo/qt/pull/244 https://github.com/gentoo/gentoo/pull/22107 https://bugs.gentoo.org/show_bug.cgi?id=810511 https://bugreports.qt.io/browse/QTBUG-96392 https://github.com/gentoo/gentoo/pull/22364 https://bugs.gentoo.org/show_bug.cgi?id=855164 |
||
Whiteboard: | |||
Package list: | Runtime testing required: | --- | |
Bug Depends on: | 806797 | ||
Bug Blocks: | |||
Attachments: |
build.log
config.log config.log |
Description
Austin Kilgore
2021-08-25 16:06:01 UTC
Created attachment 735963 [details]
build.log
ERROR: Feature 'xcomposite-egl' was enabled, but the pre-condition 'features.wayland-client && features.opengl && features.egl && features.xlib && libs.xcomposite && features.egl_x11' failed. Check config.log for details. (In reply to Sam James from comment #2) > ERROR: Feature 'xcomposite-egl' was enabled, but the pre-condition > 'features.wayland-client && features.opengl && features.egl && features.xlib > && libs.xcomposite && features.egl_x11' failed. > > Check config.log for details. I searched the build directory and there is no config.log file anywhere in /var/tmp/portage/qtwayland Created attachment 735999 [details]
config.log
Can confirm this on -r10.
Attached the config.log (found in /var/tmp/portage/dev-qt/qtwayland-5.15.2-r10/work/qtwayland-d4c41797b61a5a8da47c5821711aca72e756dcbf_build/).
Created attachment 736001 [details]
config.log
This seems to be a problem with the libglvnd EGL headers and Qt. The problem has a long chain of causes: - In order for qtwayland to build properly with EGL-X11, qtgui also needs to be built with the egl_x11 feature. The dev-qt/qtgui ebuild does properly set the config to do this: # egl_x11 is activated when both egl and X are enabled use egl && QT5_GENTOO_CONFIG+=(X:egl_x11:) || QT5_GENTOO_CONFIG+=(egl:egl_x11:) - However, qtgui has a configure step that attempts to detect whether the system's EGL is "compatible" with X, which it isn't unless some very specific preprocessor macros are defined before including libglvnd headers. The problem is very convoluted, but take a look at "/usr/include/EGL/eglplatform.h": It doesn't properly define types for EGL-X11 unless "USE_X11" is defined and all the conditionals above are NOT defined. So I'm not sure how easy it is to change things here to get qtgui to build with egl-x11, without breaking other parts of the build or other packages. This is simply a conditional feature test failure in qtgui, so it builds and installs fine, just without the egl_x11 feature enabled. - If dev-qt/qtwayland is built with the "X" use flag, the ebuild tries to enable "-feature-xcomposite-egl". This requires dev-qt/qtgui to be built with the egl_x11 feature enabled, which it isn't because of the libglvnd problem I described above. In this case, instead of simply omitting this feature, it treats it as a fatal error. I made a local ebuild for dev-qt/qtwayland where I simply deleted the line to enable "feature-xcomposite-egl". It correctly detected that it couldn't build this feature, and then built and installed the rest of qtwayland just fine. I'm not sure what the consequences of this would be on a Wayland system - I don't actually run Wayland, just keep it in my USE flags in case I want to try it on a whim one day. I'm not sure why this broke suddenly, but I'm thinking it could maybe be a libglvnd change at some point? I don't see any changes in KDE's Qt branch that would affect it. Did some more searching, I think it might be caused by the change in https://bugs.gentoo.org/717352 (libglvnd 1.3.4). Possibly also related: https://bugs.gentoo.org/767265 This is probably because of https://gitlab.freedesktop.org/glvnd/libglvnd/-/merge_requests/248 in libglvnd, which is included in v1.3.4. I assume everyone seeing this problem has libglvnd-1.3.4 and no one with v1.3.3 sees the problem? Previously there was a macro 'EGL_NO_X11' that a project could define to get EGL types defined not in terms of X11 types. This is now the default, and projects should set USE_X11 if they want the EGL types defined in terms of X11 types. The ABI is the same regardless, but I guess it's possible to cause compile errors in ways I didn't foresee. *** Bug 810347 has been marked as a duplicate of this bug. *** In that case, would adding "-DUSE_X11=true" to C[|XX|PP]FLAGS when building dev-qt/qtgui work (if the X useflag is enabled)? Since the ABI is the same, and that flag seems to just revert "eglplatform.h" to the pre-1.3.4 behaviour, I'm assuming that wouldn't interfere with anything Wayland-specific. And would that flag be required in other packages? (In reply to Matt Turner from comment #8) > This is probably because of > https://gitlab.freedesktop.org/glvnd/libglvnd/-/merge_requests/248 in > libglvnd, which is included in v1.3.4. > > I assume everyone seeing this problem has libglvnd-1.3.4 and no one with > v1.3.3 sees the problem? Masked libglvnd-1.3.4 and then downgraded to 1.3.3 (the only package asked to be rebuilt in a deep emerge @world in my system), but the emerge of qtwayland-5.15.2-r10 failed again. > Previously there was a macro 'EGL_NO_X11' that a project could define to get > EGL types defined not in terms of X11 types. This is now the default, and > projects should set USE_X11 if they want the EGL types defined in terms of > X11 types. The ABI is the same regardless, but I guess it's possible to > cause compile errors in ways I didn't foresee. ^^ you'll need to rebuild dev-qt/qtgui after downgrading libglvnd, and then rebuild dev-qt/qtwayland. I didn't downgrade, but instead rebuilt dev-qt/qtgui with "-DUSE_X11=true" in my *CFLAGS. Then I rebuilt dev-qt/qtwayland (current Portage, with no modifications) and it built fine. I haven't tested extensively, and I don't use Wayland, but I haven't seen any problems. Yes, I think it is =media-libs/libglvnd-1.3.4 related. Downgrade media-libs/libglvnd via emerge -av1 =media-libs/libglvnd-1.3.3 mesa qtcore qtgui qtwayland builds here successful. (In reply to Tiernan Hubble from comment #12) > ^^ you'll need to rebuild dev-qt/qtgui after downgrading libglvnd, and then > rebuild dev-qt/qtwayland. > > I didn't downgrade, but instead rebuilt dev-qt/qtgui with "-DUSE_X11=true" > in my *CFLAGS. Then I rebuilt dev-qt/qtwayland (current Portage, with no > modifications) and it built fine. I haven't tested extensively, and I don't > use Wayland, but I haven't seen any problems. I knew I was missing something here... :P After rebuilding dev-qt/qtgui, the emerge of dev-qt/qtwayland worked fine. Thanks! Adding "-DUSE_X11=true" to my CFLAGS worked like a charm, thank you very much! Could the qtgui ebuild do this if USE="wayland" is used instead? (In reply to Tiernan Hubble from comment #12) > ^^ you'll need to rebuild dev-qt/qtgui after downgrading libglvnd, and then > rebuild dev-qt/qtwayland. > > I didn't downgrade, but instead rebuilt dev-qt/qtgui with "-DUSE_X11=true" > in my *CFLAGS. Then I rebuilt dev-qt/qtwayland (current Portage, with no > modifications) and it built fine. I haven't tested extensively, and I don't > use Wayland, but I haven't seen any problems. works for me downunder. Thanks for the tips Same as Geoff, comment 16, I'm down under and his steps worked for me. The bug has been closed via the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=63ac5c001658e5fca3ea103125786e023d024c73 commit 63ac5c001658e5fca3ea103125786e023d024c73 Author: Andreas Sturmlechner <asturm@gentoo.org> AuthorDate: 2021-08-26 10:58:10 +0000 Commit: Sam James <sam@gentoo.org> CommitDate: 2021-08-26 18:38:21 +0000 dev-qt/qtgui: Force -DUSE_X11 with IUSE="X" Reported-by: Austin Kilgore <kilgorephotoshop@gmail.com> Thanks-to: Tiernan Hubble <thubble+gentoo@thubble.ca> Closes: https://bugs.gentoo.org/810343 Package-Manager: Portage-3.0.22, Repoman-3.0.3 Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org> Signed-off-by: Sam James <sam@gentoo.org> dev-qt/qtgui/{qtgui-5.15.2-r10.ebuild => qtgui-5.15.2-r11.ebuild} | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) Additionally, it has been referenced in the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=d7354f4bd4c9bc9ca144b788dd233e4ac45272a1 commit d7354f4bd4c9bc9ca144b788dd233e4ac45272a1 Author: Andreas Sturmlechner <asturm@gentoo.org> AuthorDate: 2021-08-26 11:00:00 +0000 Commit: Sam James <sam@gentoo.org> CommitDate: 2021-08-26 18:38:22 +0000 dev-qt/qtwayland: Add USEdep on dev-qt/qtgui[X] for IUSE="X" Bug: https://bugs.gentoo.org/810343 Package-Manager: Portage-3.0.22, Repoman-3.0.3 Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org> Closes: https://github.com/gentoo/gentoo/pull/22107 Signed-off-by: Sam James <sam@gentoo.org> .../{qtwayland-5.15.2-r10.ebuild => qtwayland-5.15.2-r11.ebuild} | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) The bug has been referenced in the following commit(s): https://gitweb.gentoo.org/proj/qt.git/commit/?id=83a89072526e19defc606e2a2cbe07aedcd98b1d commit 83a89072526e19defc606e2a2cbe07aedcd98b1d Author: Andreas Sturmlechner <asturm@gentoo.org> AuthorDate: 2021-08-26 10:51:25 +0000 Commit: Andreas Sturmlechner <asturm@gentoo.org> CommitDate: 2021-08-27 11:40:45 +0000 dev-qt/qtwayland: Add USEdep on dev-qt/qtgui[X] for IUSE="X" Bug: https://bugs.gentoo.org/810343 Package-Manager: Portage-3.0.22, Repoman-3.0.3 Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org> dev-qt/qtwayland/qtwayland-5.15.9999.ebuild | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) https://gitweb.gentoo.org/proj/qt.git/commit/?id=f1f6af038dd9e283b9915c18b3b0f1f379ace46f commit f1f6af038dd9e283b9915c18b3b0f1f379ace46f Author: Andreas Sturmlechner <asturm@gentoo.org> AuthorDate: 2021-08-26 10:50:11 +0000 Commit: Andreas Sturmlechner <asturm@gentoo.org> CommitDate: 2021-08-27 11:40:41 +0000 dev-qt/qtgui: Force -DUSE_X11 with IUSE="X" Reported-by: Austin Kilgore <kilgorephotoshop@gmail.com> Thanks-to: Tiernan Hubble <thubble+gentoo@thubble.ca> Bug: https://bugs.gentoo.org/810343 Package-Manager: Portage-3.0.22, Repoman-3.0.3 Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org> dev-qt/qtgui/qtgui-5.15.9999.ebuild | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) The bug has been referenced in the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=ad10fce80859497407fa4ab5b42e0f03c3fa1caa commit ad10fce80859497407fa4ab5b42e0f03c3fa1caa Author: Andreas Sturmlechner <asturm@gentoo.org> AuthorDate: 2021-09-22 13:09:18 +0000 Commit: Andreas Sturmlechner <asturm@gentoo.org> CommitDate: 2021-09-22 19:47:17 +0000 dev-qt/qtgui: 5.15.2-r12 version bump at KDE 64a00680 Switch from ~PV to =QT5_PV* version dependencies. Fixes several things limited to dev-qt/qtgui, see below. Upstream commit f42186815187be1a0c5c0f9d6acc657872d3d533: "Cater for upstream changes in eglplatform.h" (libglvnd-1.3.4) See also: https://bugreports.qt.io/browse/QTBUG-96392 Upstream commit aa36d950b5d817d1adf660eb54dacf0a1c16adde: "QTextOdfWriter: fix exporting pixmaps to ODT" See also: https://invent.kde.org/qt/qt/qtbase/-/merge_requests/50 Upstream commit 64a0068011e12f178fb7ff65fafe7cfaa4620719: "QPlatformWindow: fix isAncestorOf not breaking recursion" See also: https://invent.kde.org/qt/qt/qtbase/-/merge_requests/51 Bug: https://bugs.gentoo.org/810343 Package-Manager: Portage-3.0.23, Repoman-3.0.3 Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org> dev-qt/qtgui/Manifest | 2 +- ...gui-5.15.2-r11.ebuild => qtgui-5.15.2-r12.ebuild} | 20 ++++++++++---------- 2 files changed, 11 insertions(+), 11 deletions(-) |