| Summary: | dev-qt/qtgui-5.15.2-r13[X] w/o media-libs/libglvnd[X]: ERROR: Feature 'opengl-desktop' was enabled, but the pre-condition '... (!config.watchos && !config.win32 && !config.wasm && libs.opengl)' failed. | ||
|---|---|---|---|
| Product: | Gentoo Linux | Reporter: | William Throwe <wtt6> |
| Component: | Current packages | Assignee: | Qt Bug Alias <qt> |
| Status: | RESOLVED FIXED | ||
| Severity: | normal | CC: | asturm, sam, tanekliang, toralf |
| Priority: | Normal | Keywords: | InOverlay |
| Version: | unspecified | ||
| Hardware: | All | ||
| OS: | Linux | ||
| Whiteboard: | fixed in dev-qt/qtgui-5.15.2-r14 | ||
| Package list: | Runtime testing required: | --- | |
| Bug Depends on: | 828047 | ||
| Bug Blocks: | |||
| Attachments: | build.log | ||
|
Description
William Throwe
2021-10-06 01:05:51 UTC
Installing qtgui in sytemd stage3 (amd64, riscv) has the same problem. Can fix this by depending on media-libs/libglvnd[X?], but we may still have an IUSE inter-dependency problem here. USE="eglfs -X" is allowed by the ebuild, but fails with: > EGL .................................... no > OpenVG ................................. no > OpenGL: > Desktop OpenGL ....................... no > OpenGL ES 2.0 ........................ no > OpenGL ES 3.0 ........................ no > OpenGL ES 3.1 ........................ no > OpenGL ES 3.2 ........................ no > ... > ERROR: Feature 'opengl-desktop' was enabled, but the pre-condition '(config.win32 && !config.winrt && !features.opengles2 && (config.msvc || libs.opengl)) > || (!config.watchos && !config.win32 && !config.wasm && libs.opengl)' failed. > > ERROR: Feature 'egl' was enabled, but the pre-condition '(features.opengl || features.openvg) && (features.angle || libs.egl) && (features.dlopen || !config.unix || config.integrity)' failed. > > ERROR: Feature 'eglfs' was enabled, but the pre-condition '!config.android && !config.darwin && !config.win32 && !config.wasm && features.egl' failed. > > ERROR: The OpenGL functionality tests failed! > You might need to modify the include and library search paths by editing QMAKE_INCDIR_OPENGL[_ES2], > QMAKE_LIBDIR_OPENGL[_ES2] and QMAKE_LIBS_OPENGL[_ES2] in the mkspec for your platform. USE="eglfs gles2-only -X" succeeds: > EGL .................................... yes > OpenVG ................................. no > OpenGL: > Desktop OpenGL ....................... no > OpenGL ES 2.0 ........................ yes > OpenGL ES 3.0 ........................ yes > OpenGL ES 3.1 ........................ yes > OpenGL ES 3.2 ........................ yes The bug has been referenced in the following commit(s): https://gitweb.gentoo.org/proj/qt.git/commit/?id=02cb6e27f322666f6b466a5c8f070a2e1afae0fa commit 02cb6e27f322666f6b466a5c8f070a2e1afae0fa Author: Andreas Sturmlechner <asturm@gentoo.org> AuthorDate: 2021-10-16 15:35:28 +0000 Commit: Andreas Sturmlechner <asturm@gentoo.org> CommitDate: 2021-10-16 15:35:28 +0000 dev-qt/qtgui: Add missing USE-dep on media-libs/libglvnd[X?] Reported-by: William Throwe <wtt6@cornell.edu> Bug: https://bugs.gentoo.org/816492 Package-Manager: Portage-3.0.28, Repoman-3.0.3 Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org> dev-qt/qtgui/qtgui-5.15.2.9999.ebuild | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (In reply to Andreas Sturmlechner from comment #2) > Can fix this by depending on media-libs/libglvnd[X?], but we may still have > an IUSE inter-dependency problem here. Not exactly an IUSE inter-dependency problem. USE=X controls the XCB platform plugin. USE=eglfs controls the EGLFS platform plugin. They can and should be independent from each other. The problem (IMO) is with the detection of the opengl library (see below). > USE="eglfs -X" is allowed by the ebuild, but fails with: I can reproduce if and only if libglvnd is built with USE=-X. qtgui is looking for libGL (or gl.pc), which is the legacy library and is only installed by libglvnd[X]. > Checking for Desktop OpenGL... > Trying source 0 (type pkgConfig) of library opengl ... > + /usr/bin/pkg-config --exists --silence-errors gl > pkg-config did not find package. > => source produced no result. > Trying source 1 (type makeSpec) of library opengl ... > header entry 'config.qtbase_gui.libraries.opengl.headers.0' passed condition. > header entry 'config.qtbase_gui.libraries.opengl.headers.0' passed condition. > + cd /tmp/portage/dev-qt/qtgui-5.15.2-r13/work/qtbase-a4f9e56975fa6ab4a1f63a9b34a4d77b1cfe4acd_build/config.tests/opengl && /tmp/portage/dev-qt/qtgui-5.15.2-r13/work/qtbase-a4f9e56975fa6ab4a1f63a9b34a4d77b1cfe4acd_build/bin/qmake "CONFIG -= qt debug_and_release app_bundle lib_bundle" "CONFIG += shared warn_off console single_arch" QMAKE_AR=x86_64-pc-linux-gnu-ar QMAKE_CC=x86_64-pc-linux-gnu-gcc QMAKE_LINK_C=x86_64-pc-linux-gnu-gcc QMAKE_LINK_C_SHLIB=x86_64-pc-linux-gnu-gcc QMAKE_CXX=x86_64-pc-linux-gnu-g++ QMAKE_LINK=x86_64-pc-linux-gnu-g++ QMAKE_LINK_SHLIB=x86_64-pc-linux-gnu-g++ QMAKE_OBJCOPY=x86_64-pc-linux-gnu-objcopy QMAKE_RANLIB= QMAKE_STRIP=x86_64-pc-linux-gnu-strip 'QMAKE_CFLAGS=-march=native -O2 -pipe' QMAKE_CFLAGS_RELEASE= QMAKE_CFLAGS_DEBUG= 'QMAKE_CXXFLAGS=-march=native -O2 -pipe' QMAKE_CXXFLAGS_RELEASE= QMAKE_CXXFLAGS_DEBUG= 'QMAKE_LFLAGS=-Wl,-O1 -Wl,--as-needed -Wl,--defsym=__gentoo_check_ldflags__=0' QMAKE_LFLAGS_RELEASE= QMAKE_LFLAGS_DEBUG= 'QMAKE_USE += opengl' 'QMAKE_LIBS_OPENGL = -lGL' /tmp/portage/dev-qt/qtgui-5.15.2-r13/work/qtbase-a4f9e56975fa6ab4a1f63a9b34a4d77b1cfe4acd_build/config.tests/opengl > + cd /tmp/portage/dev-qt/qtgui-5.15.2-r13/work/qtbase-a4f9e56975fa6ab4a1f63a9b34a4d77b1cfe4acd_build/config.tests/opengl && MAKEFLAGS= /usr/bin/gmake > > x86_64-pc-linux-gnu-g++ -c -march=native -O2 -pipe -w -fPIC -I. -I/usr/include/libdrm -I/tmp/portage/dev-qt/qtgui-5.15.2-r13/work/qtbase-a4f9e56975fa6ab4a1f63a9b34a4d77b1cfe4acd/mkspecs/linux-g++ -o main.o main.cpp > > x86_64-pc-linux-gnu-g++ -Wl,-O1 -Wl,--as-needed -Wl,--defsym=__gentoo_check_ldflags__=0 -o opengl main.o -lGL > > /usr/lib/gcc/x86_64-pc-linux-gnu/8.5.0/../../../../x86_64-pc-linux-gnu/bin/ld: cannot find -lGL > > collect2: error: ld returned 1 exit status > > gmake: *** [Makefile:68: opengl] Error 1 > => source failed verification. > test config.qtbase_gui.libraries.opengl FAILED This requirement for "any opengl implementation" actually comes from 'features.egl' so it is not specific to eglfs. So I think the dependency should be:
gles2-only? ( media-libs/libglvnd )
!gles2-only? ( media-libs/libglvnd[X] )
Absolutely right, thanks. The bug has been referenced in the following commit(s): https://gitweb.gentoo.org/proj/qt.git/commit/?id=eb80f984b8509d49b6f18ea1b97038bd442a4b8c commit eb80f984b8509d49b6f18ea1b97038bd442a4b8c Author: Andreas Sturmlechner <asturm@gentoo.org> AuthorDate: 2021-10-16 23:20:18 +0000 Commit: Andreas Sturmlechner <asturm@gentoo.org> CommitDate: 2021-10-16 23:24:08 +0000 dev-qt/qtgui: Enforce media-libs/libglvnd[X] USE-dep for !gles2-only Thanks-to: Davide Pesavento <pesa@gentoo.org> Bug: https://bugs.gentoo.org/816492 Package-Manager: Portage-3.0.28, Repoman-3.0.3 Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org> dev-qt/qtgui/qtgui-5.15.2.9999.ebuild | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) *** Bug 821979 has been marked as a duplicate of this bug. *** The bug has been referenced in the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=9bd1288eba96a6da4d15988bcf86a3fe4ed65cc0 commit 9bd1288eba96a6da4d15988bcf86a3fe4ed65cc0 Author: Andreas Sturmlechner <asturm@gentoo.org> AuthorDate: 2021-10-16 16:36:49 +0000 Commit: Andreas Sturmlechner <asturm@gentoo.org> CommitDate: 2021-11-07 23:40:45 +0000 dev-qt/qtgui: 5.15.2-r12 version bump at KDE c9fde86b Enforce media-libs/libglvnd[X] USE-dep for !gles2-only Upstream fixes: "PDF generation: disentangle native pen from transforms" "Avoid generating large pdf files when using dashed cosmetic pens" QTBUG: https://bugreports.qt.io/browse/QTBUG-86094 "Fix QPainterPath with QFont::SmallCaps" QTBUG: https://bugreports.qt.io/browse/QTBUG-13965 "Respect font stretch if set together with font style" QTBUG: https://bugreports.qt.io/browse/QTBUG-77854 "Support transformations in pattern/texture brushes in pdf" QTBUG: https://bugreports.qt.io/browse/QTBUG-96978 Revert "Fix invalid text layout data when a full layout run is interrupted" See also: "Performance regression in QTextDocument in 5.15" QTBUG: https://bugreports.qt.io/browse/QTBUG-89599 QTBUG: https://bugreports.qt.io/browse/QTBUG-20354 Thanks-to: Davide Pesavento <pesa@gentoo.org> Bug: https://bugs.gentoo.org/816492 Package-Manager: Portage-3.0.28, Repoman-3.0.3 Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org> dev-qt/qtgui/Manifest | 1 + dev-qt/qtgui/qtgui-5.15.2-r14.ebuild | 184 +++++++++++++++++++++++++++++++++++ 2 files changed, 185 insertions(+) The bug has been closed via the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=f9154c9d2a6cb95737a1f979c49d744e368a7f64 commit f9154c9d2a6cb95737a1f979c49d744e368a7f64 Author: Andreas Sturmlechner <asturm@gentoo.org> AuthorDate: 2021-12-16 12:17:06 +0000 Commit: Andreas Sturmlechner <asturm@gentoo.org> CommitDate: 2021-12-16 12:23:58 +0000 dev-qt/qtgui: Drop 5.15.2-r13 Closes: https://bugs.gentoo.org/816492 Package-Manager: Portage-3.0.30, Repoman-3.0.3 Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org> dev-qt/qtgui/Manifest | 1 - dev-qt/qtgui/qtgui-5.15.2-r13.ebuild | 182 ----------------------------------- 2 files changed, 183 deletions(-) |