Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 816492 - 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.
Summary: dev-qt/qtgui-5.15.2-r13[X] w/o media-libs/libglvnd[X]: ERROR: Feature 'opengl...
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal
Assignee: Qt Bug Alias
URL:
Whiteboard: fixed in dev-qt/qtgui-5.15.2-r14
Keywords: InOverlay
: 821979 (view as bug list)
Depends on: 828047
Blocks:
  Show dependency tree
 
Reported: 2021-10-06 01:05 UTC by William Throwe
Modified: 2021-12-16 12:29 UTC (History)
4 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
build.log (qtgui-5.15.2-r13:20211006-002514.log,182.54 KB, text/x-log)
2021-10-06 01:05 UTC, William Throwe
Details

Note You need to log in before you can comment on or make changes to this bug.
Description William Throwe 2021-10-06 01:05:51 UTC
Created attachment 743346 [details]
build.log

> x86_64-pc-linux-gnu-g++ -c -march=native -O2 -pipe -ggdb -w -fPIC  -I. -I/var/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,--hash-style=gnu -o opengl main.o   -lGL   
> /usr/lib/gcc/x86_64-pc-linux-gnu/10.3.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


# emerge --info
Portage 3.0.20 (python 3.9.6-final-0, default/linux/amd64/17.1, gcc-10.3.0, glibc-2.33-r1, 5.10.27-gentoo x86_64)
=================================================================
System uname: Linux-5.10.27-gentoo-x86_64-Intel-R-_Xeon-R-_CPU_E5-2620_v4_@_2.10GHz-with-glibc2.33
KiB Mem:    98873212 total,  41561592 free
KiB Swap:   67108856 total,  66564344 free
Timestamp of repository gentoo: Tue, 05 Oct 2021 00:00:01 +0000
Head commit of repository gentoo: 73716742eaab9768a28bccc7a0365d733cb766dd
sh bash 5.1_p8
ld GNU ld (Gentoo 2.37_p1 p0) 2.37
app-shells/bash:          5.1_p8::gentoo
dev-java/java-config:     2.3.1::gentoo
dev-lang/perl:            5.34.0-r2::gentoo
dev-lang/python:          3.9.6_p2::gentoo
sys-apps/baselayout:      2.7::gentoo
sys-apps/openrc:          0.43.5::gentoo
sys-apps/sandbox:         2.24::gentoo
sys-devel/binutils:       2.37_p1::gentoo
sys-devel/gcc:            10.3.0-r2::gentoo
sys-devel/gcc-config:     2.4::gentoo
sys-devel/make:           4.3::gentoo
sys-kernel/linux-headers: 5.10::gentoo (virtual/os-headers)
sys-libs/glibc:           2.33-r1::gentoo
Repositories:

gentoo
    location: /usr/portage
    sync-type: rsync
    sync-uri: rsync://rsync.gentoo.org/gentoo-portage
    priority: -1000
    sync-rsync-verify-metamanifest: yes
    sync-rsync-verify-jobs: 1
    sync-rsync-verify-max-age: 24
    sync-rsync-extra-opts: 

wthrowe-misc
    location: /usr/local/shared/feanor/overlays/wthrowe-misc
    masters: gentoo
    priority: 0

crossdev
    location: /usr/local/shared/feanor/overlays/portage-crossdev
    masters: gentoo
    priority: 10

barnowl
    location: /var/lib/layman/barnowl
    masters: gentoo
    priority: 50

steam-overlay
    location: /var/lib/layman/steam-overlay
    masters: gentoo
    priority: 50

sxs-spectre
    location: /var/lib/layman/sxs-spectre
    masters: gentoo
    priority: 50

Installed sets: @frequently-missing-dependencies
ACCEPT_KEYWORDS="amd64"
ACCEPT_LICENSE="@FREE"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-march=native -O2 -pipe -ggdb"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/share/gnupg/qualified.txt"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/sandbox.d /etc/terminfo"
CXXFLAGS="-march=native -O2 -pipe -ggdb"
DISTDIR="/var/cache/distfiles"
EMERGE_DEFAULT_OPTS="--ask --quiet-build=n --autounmask-write=n --usepkg --with-bdeps=n --backtrack=100 --autounmask-backtrack=y --binpkg-respect-use=y --binpkg-changed-deps=n"
ENV_UNSET="CARGO_HOME DBUS_SESSION_BUS_ADDRESS DISPLAY GOBIN GOPATH PERL5LIB PERL5OPT PERLPREFIX PERL_CORE PERL_MB_OPT PERL_MM_OPT XAUTHORITY XDG_CACHE_HOME XDG_CONFIG_HOME XDG_DATA_HOME XDG_RUNTIME_DIR"
FCFLAGS="-O2 -pipe"
FEATURES="assume-digests binpkg-docompress binpkg-dostrip binpkg-logs binpkg-multi-instance buildpkg clean-logs compress-build-logs compressdebug config-protect-if-modified distlocks ebuild-locks fixlafiles ipc-sandbox merge-sync multilib-strict network-sandbox news parallel-fetch pid-sandbox preserve-libs protect-owned qa-unresolved-soname-deps sandbox sfperms split-log splitdebug strict unknown-features-warn unmerge-orphans userfetch userpriv usersandbox usersync xattr"
FFLAGS="-O2 -pipe"
GENTOO_MIRRORS="http://distfiles.gentoo.org"
LANG="POSIX"
LDFLAGS="-Wl,-O1 -Wl,--as-needed -Wl,--hash-style=gnu"
MAKEOPTS="-j24"
PKGDIR="/var/cache/packages"
PORTAGE_CONFIGROOT="/"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --omit-dir-times --compress --force --whole-file --delete --stats --human-readable --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages --exclude=/.git"
PORTAGE_TMPDIR="/var/tmp"
USE="acl amd64 bzip2 cli crypt dri elogind fortran iconv ipv6 libglvnd libtirpc multilib ncurses nls nptl openmp pam pcre readline seccomp split-usr ssl tcpd unicode xattr zlib" ABI_X86="64" ADA_TARGET="gnat_2019" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci emu10k1x ens1370 ens1371 es1938 es1968 fm801 hda-intel intel8x0 intel8x0m maestro3 trident usb-audio via82xx via82xx-modem ymfpci" APACHE2_MODULES="authn_core authz_core socache_shmcb unixd actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache cgi cgid dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" CALLIGRA_FEATURES="karbon sheets words" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" CPU_FLAGS_X86="aes avx avx2 fma3 mmx mmxext popcnt sse sse2 sse3 sse4_1 sse4_2 ssse3" ELIBC="glibc" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock greis isync itrax mtk3301 nmea ntrip navcom oceanserver oldstyle oncore rtcm104v2 rtcm104v3 sirf skytraq superstar2 timing tsip tripmate tnt ublox ubx" INPUT_DEVICES="evdev" KERNEL="linux" L10N="en" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LIBREOFFICE_EXTENSIONS="presenter-console presenter-minimizer" LUA_SINGLE_TARGET="lua5-1" LUA_TARGETS="lua5-1" OFFICE_IMPLEMENTATION="libreoffice" PHP_TARGETS="php7-3 php7-4" POSTGRES_TARGETS="postgres12 postgres13" PYTHON_SINGLE_TARGET="python3_9" PYTHON_TARGETS="python3_9" RUBY_TARGETS="ruby26" USERLAND="GNU" VIDEO_CARDS="nvidia" XTABLES_ADDONS="quota2 psd pknock lscan length2 ipv4options ipset ipp2p iface geoip fuzzy condition tee tarpit sysrq proto steal rawnat logmark ipmark dhcpmac delude chaos account"
Unset:  CC, CPPFLAGS, CTARGET, CXX, INSTALL_MASK, LC_ALL, LINGUAS, PORTAGE_BINHOST, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS, RUSTFLAGS
Comment 1 yongxiang 2021-10-14 03:19:20 UTC
Installing qtgui in sytemd stage3 (amd64, riscv) has the same problem.
Comment 2 Andreas Sturmlechner gentoo-dev 2021-10-16 15:30:36 UTC
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
Comment 3 Larry the Git Cow gentoo-dev 2021-10-16 15:36:56 UTC
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(-)
Comment 4 Davide Pesavento (RETIRED) gentoo-dev 2021-10-16 19:26:35 UTC
(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.
Comment 5 Davide Pesavento (RETIRED) gentoo-dev 2021-10-16 19:31:00 UTC
So I think the dependency should be:

    gles2-only? ( media-libs/libglvnd )
    !gles2-only? ( media-libs/libglvnd[X] )
Comment 6 Andreas Sturmlechner gentoo-dev 2021-10-16 23:17:10 UTC
Absolutely right, thanks.
Comment 7 Larry the Git Cow gentoo-dev 2021-10-16 23:24:24 UTC
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(-)
Comment 8 Davide Pesavento (RETIRED) gentoo-dev 2021-11-05 18:26:48 UTC
*** Bug 821979 has been marked as a duplicate of this bug. ***
Comment 9 Larry the Git Cow gentoo-dev 2021-11-07 23:42:03 UTC
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(+)
Comment 10 Larry the Git Cow gentoo-dev 2021-12-16 12:29:27 UTC
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(-)