Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 938890 - dev-qt/qtmultimedia-6.7.2-r1 CMake Error Target "QFFmpegMediaPlugin" links to: Qt::OpenGLPrivate but the target was not found
Summary: dev-qt/qtmultimedia-6.7.2-r1 CMake Error Target "QFFmpegMediaPlugin" links to...
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal major
Assignee: Qt Bug Alias
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2024-09-01 18:29 UTC by Alex Efros
Modified: 2024-09-02 07:55 UTC (History)
2 users (show)

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


Attachments
build.log (dev-qt:qtmultimedia-6.7.2-r1:20240901-182321.log,7.10 KB, text/x-log)
2024-09-01 18:29 UTC, Alex Efros
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Alex Efros 2024-09-01 18:29:24 UTC
Created attachment 901874 [details]
build.log

This happened in the middle of KDE 5 to 6 upgrade, so I've increased severity a bit because it might result in a broken KDE.

[ebuild  NS    ] dev-qt/qtmultimedia-6.7.2-r1:6/6.7.2::gentoo [5.15.14:5/5.15::gentoo] USE="X%* alsa eglfs%* ffmpeg%* opengl%* vaapi%* -gstreamer -pulseaudio -qml -test -v4l% -vulkan% (-debug%) (-gles2-only%) (-openal%) (-widgets%*)" 0 KiB
...
-- Configure summary:

Qt Multimedia:
  Spatial Audio .......................... yes
  Spatial Audio (Quick3D) ................ no
  Low level Audio Backend:
    alsa ................................. yes
    pulseaudio ........................... no
    MMRenderer ........................... no
    CoreAudio ............................ no
    Windows Media SDK .................... no
    Open SLES (Android) .................. no
    Web Assembly ......................... no
  Plugin:
    GStreamer 1.0 ........................ yes
    ffmpeg ............................... yes
    MMRenderer ........................... no
    AVFoundation ......................... no
    Windows Media Foundation ............. no
  Hardware acceleration and features:
    linux_v4l ............................ no
    vaapi ................................ yes
    Linux DMA buffer support ............. yes
    VideoToolbox ......................... no
 

-- Configuring done (4.0s)
CMake Error at /usr/lib64/cmake/Qt6/QtTargetHelpers.cmake:171 (target_link_libraries):
  Target "QFFmpegMediaPlugin" links to:

    Qt::OpenGLPrivate

  but the target was not found.  Possible reasons include:

    * There is a typo in the target name.
    * A find_package call is missing for an IMPORTED target.
    * An ALIAS target is missing.

Call Stack (most recent call first):
  src/plugins/multimedia/ffmpeg/CMakeLists.txt:189 (qt_internal_extend_target)


-- Generating done (0.4s)
CMake Generate step failed.  Build files cannot be regenerated correctly.
 * ERROR: dev-qt/qtmultimedia-6.7.2-r1::gentoo failed (configure phase):
 *   cmake failed



Portage 3.0.65 (python 3.12.3-final-0, default/linux/amd64/23.0/split-usr/hardened, gcc-13, glibc-2.39-r6, 6.6.47-gentoo x86_64)
=================================================================
System uname: Linux-6.6.47-gentoo-x86_64-AMD_Ryzen_9_5900X_12-Core_Processor-with-glibc2.39
KiB Mem:    32803156 total,  15648460 free
KiB Swap:   16776896 total,  16761792 free
Timestamp of repository gentoo: Sun, 01 Sep 2024 09:30:00 +0000
Head commit of repository gentoo: bbde0bfe9453b81a8ba0abefd102bab7c3da8828
Timestamp of repository guru: Sat, 31 Aug 2024 21:48:50 +0000
Head commit of repository guru: a1b09d98cf4e1ba40b0e5ee5782ee8c1daeb314e

Timestamp of repository steam-overlay: Fri, 23 Aug 2024 21:33:51 +0000
Head commit of repository steam-overlay: 1057828cc4261082ad3faf418c27176e0282557b

Timestamp of repository torbrowser: Wed, 21 Aug 2024 17:48:47 +0000
Head commit of repository torbrowser: 934664b8bd4b7d2ae33ee5d43459c77f3535923c

sh bash 5.2_p26-r6
ld GNU ld (Gentoo 2.42 p3) 2.42.0
ccache version 4.9.1 [enabled]
app-misc/pax-utils:        1.3.7::gentoo
app-shells/bash:           5.2_p26-r6::gentoo
dev-build/autoconf:        2.13-r8::gentoo, 2.71-r7::gentoo
dev-build/automake:        1.16.5-r2::gentoo
dev-build/cmake:           3.30.2::gentoo
dev-build/libtool:         2.4.7-r4::gentoo
dev-build/make:            4.4.1-r1::gentoo
dev-build/meson:           1.5.1::gentoo
dev-java/java-config:      2.3.4::gentoo
dev-lang/perl:             5.40.0::gentoo
dev-lang/python:           3.11.9_p2::gentoo, 3.12.3-r1::gentoo
dev-lang/rust:             1.79.0::gentoo
dev-util/ccache:           4.9.1-r1::gentoo
sys-apps/baselayout:       2.15::gentoo
sys-apps/sandbox:          2.38::gentoo
sys-devel/binutils:        2.42-r1::gentoo
sys-devel/binutils-config: 5.5::gentoo
sys-devel/clang:           18.1.8::gentoo
sys-devel/gcc:             11.4.1_p20240501::gentoo, 12.4.0::gentoo, 13.3.1_p20240614::gentoo, 14.2.1_p20240817::gentoo, 15.0.0_pre20240818-r1::gentoo
sys-devel/gcc-config:      2.11::gentoo
sys-devel/lld:             18.1.8::gentoo
sys-devel/llvm:            18.1.8-r1::gentoo
sys-kernel/linux-headers:  6.6-r1::gentoo (virtual/os-headers)
sys-libs/glibc:            2.39-r6::gentoo
Repositories:

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

guru
    location: /var/db/repos/guru
    sync-type: git
    sync-uri: https://github.com/gentoo-mirror/guru.git
    masters: gentoo
    volatile: False

local
    location: /usr/local/portage
    masters: gentoo
    priority: 0
    volatile: True

steam-overlay
    location: /var/db/repos/steam-overlay
    sync-type: git
    sync-uri: https://github.com/gentoo-mirror/steam-overlay.git
    masters: gentoo
    volatile: False

torbrowser
    location: /var/db/repos/torbrowser
    sync-type: git
    sync-uri: https://github.com/gentoo-mirror/torbrowser.git
    masters: gentoo
    volatile: False

powerman
    location: /home/powerman/proj/gentoo/powerman-overlay
    masters: gentoo
    priority: 50
    volatile: True

Installed sets: @esteam
ACCEPT_KEYWORDS="amd64"
ACCEPT_LICENSE="*"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-march=native -O2 -pipe"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /service /usr/lib64/libreoffice/program/sofficerc /usr/share/config /usr/share/easy-rsa /usr/share/gnupg/qualified.txt /usr/share/i2p/scripts /usr/share/maven-bin-3.9/conf /var/log"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/dconf /etc/env.d /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo"
CXXFLAGS="-march=native -O2 -pipe"
DISTDIR="/var/cache/distfiles"
EMERGE_DEFAULT_OPTS="--with-bdeps=y --autounmask --autounmask-write --alert=y"
ENV_UNSET="CARGO_HOME DBUS_SESSION_BUS_ADDRESS DISPLAY GDK_PIXBUF_MODULE_FILE 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 XDG_STATE_HOME"
FCFLAGS="-march=native -O2 -pipe"
FEATURES="assume-digests binpkg-docompress binpkg-dostrip binpkg-logs buildpkg-live ccache clean-logs config-protect-if-modified distlocks ebuild-locks fixlafiles ipc-sandbox merge-sync merge-wait multilib-strict network-sandbox news parallel-fetch pid-sandbox pkgdir-index-trusted preserve-libs protect-owned qa-unresolved-soname-deps sandbox sfperms strict strict-keepdir unknown-features-warn unmerge-logs unmerge-orphans userfetch userpriv usersandbox usersync warn-on-large-env xattr"
FFLAGS="-march=native -O2 -pipe"
GENTOO_MIRRORS="http://mirror.leaseweb.com/gentoo/ http://mirrors.aliyun.com/gentoo/ http://ftp.snt.utwente.nl/pub/os/linux/gentoo"
LANG="ru_RU.utf8"
LDFLAGS="-Wl,-O1 -Wl,--as-needed -Wl,-z,pack-relative-relocs"
LEX="flex"
LINGUAS="en ru ru_RU"
MAKEOPTS="-j24"
PKGDIR="/var/cache/binpkgs"
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"
SHELL="/bin/zsh"
USE="X a52 aac acl acpi aes alac alsa amd64 avx avx2 bash-completion bluetooth branding bzip2 cairo caps cdda cddb cdr cet chm cli crypt cups dbus dcron dga djvu dri dts dvb dvd dvdr egl eglfs elogind emboss encode exif f16c fam ffmpeg flac fma3 fontconfig gallium gdbm gif gpg gtk hardened heif iconv icu id3tag idn ipv6 jpeg jpeg2k kf6compat lcms libnotify libtirpc mac mad matroska mmx mmxext mng mp3 mp4 mpeg mtp multilib musepack ncurses network-cron nls nsplugin ogg opengl openmp opus pam pango pclmul pcre pdf perl pic pie png policykit popcnt ppds qt5 qt6 rdrand readline rtc sdl seccomp sha spell split-usr sse sse2 sse3 sse4_1 sse4_2 sse4a ssl ssp ssse3 startup-notification svg tcpd test-rust theora tiff truetype udev udisks unicode upower usb vaapi vdpau vim-syntax vorbis wavpack wxwidgets x264 x265 xattr xcb xml xscreensaver xtpax xv xvid xvmc zlib" ABI_X86="64" ADA_TARGET="gcc_12" APACHE2_MODULES="log_config vhost_alias autoindex alias rewrite dir deflate filter mime negotiation auth_basic authn_file authz_host authz_user authz_groupfile cgi actions headers env setenvif authn_core authz_core unixd socache_shmcb access_compat" CALLIGRA_FEATURES="karbon sheets words" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" CPU_FLAGS_X86="aes avx avx2 f16c fma3 mmx mmxext pclmul popcnt rdrand sha sse sse2 sse3 sse4_1 sse4_2 sse4a ssse3" ELIBC="glibc" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock greis isync itrax mtk3301 ntrip navcom oceanserver oncore rtcm104v2 rtcm104v3 sirf skytraq superstar2 tsip tripmate tnt ublox" GRUB_PLATFORMS="efi-64 pc" GUILE_SINGLE_TARGET="3-0" GUILE_TARGETS="3-0" INPUT_DEVICES="evdev" KERNEL="linux" L10N="en ru" LCD_DEVICES="bayrad cfontz glk hd44780 lb216 lcdm001 mtxorb text" LUA_SINGLE_TARGET="lua5-1" LUA_TARGETS="lua5-1" NGINX_MODULES_HTTP="access auth_basic autoindex browser charset empty_gif fastcgi geo gzip limit_conn limit_req map memcached proxy referer rewrite scgi split_clients ssi upstream_ip_hash userid uwsgi addition fancyindex stub_status" NGINX_MODULES_STREAM="ssl_preread map" OFFICE_IMPLEMENTATION="libreoffice" PHP_TARGETS="php5-6 php7-0" POSTGRES_TARGETS="postgres15" PYTHON_SINGLE_TARGET="python3_12" PYTHON_TARGETS="python3_12" QEMU_SOFTMMU_TARGETS="x86_64 i386" QEMU_USER_TARGETS="x86_64 i386" RUBY_TARGETS="ruby31 ruby32" VIDEO_CARDS="nvidia nouveau" XTABLES_ADDONS="quota2 psd pknock lscan length2 ipv4options ipp2p iface geoip fuzzy condition tarpit sysrq proto logmark ipmark dhcpmac delude chaos account"
Unset:  ADDR2LINE, AR, ARFLAGS, AS, ASFLAGS, CC, CCLD, CONFIG_SHELL, CPP, CPPFLAGS, CTARGET, CXX, CXXFILT, ELFEDIT, EXTRA_ECONF, F77FLAGS, FC, GCOV, GPROF, INSTALL_MASK, LC_ALL, LD, LFLAGS, LIBTOOL, MAKE, MAKEFLAGS, NM, OBJCOPY, OBJDUMP, PORTAGE_BINHOST, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS, PYTHONPATH, RANLIB, READELF, RUSTFLAGS, SIZE, STRINGS, STRIP, YACC, YFLAGS
Comment 1 Alex Efros 2024-09-01 18:48:57 UTC
BTW, I've tried to disable USE-flag opengl (in hope to fix the build, complete upgrade to KDE 6, and then work on fixing this issue) but it looks like it's impossible to disable it.

I get an endless loop: I agree to make this change, apply it using dispatch-conf, re-run command, and it gives me the same output, trying to append these lines again and again.


# USE="-eglfs -vaapi -opengl" emerge -1uDNav world

These are the packages that would be merged, in order:

Calculating dependencies... done!
Dependency resolution took 21.91 s (backtrack: 1/20).


The following USE changes are necessary to proceed:
 (see "package.use" in the portage(5) man page for more details)
# required by dev-qt/qtwayland-6.7.2-r3::gentoo
>=dev-qt/qtbase-6.7.2-r4 opengl
# 
>=dev-qt/qttools-6.7.2 opengl

Would you like to add these changes to your config files? [Yes/No] 


If instead of global environment USE I'll just add this to package.use:

=dev-qt/qtmultimedia-6.7.2-r1 -eglfs -vaapi -opengl

and run `emerge -1uDNav 'dev-qt/qtmultimedia:6'` then it will in endless loop ask me to add these lines

# required by dev-qt/qtmultimedia-6.7.2-r1::gentoo
# required by dev-qt/qtmultimedia:6 (argument)
>=dev-qt/qtbase-6.7.2-r4 -opengl -eglfs

and on next run these lines:

# required by dev-qt/qttools-6.7.2::gentoo
# required by kde-frameworks/syntax-highlighting-6.5.0::gentoo
# required by kde-apps/kio-extras-24.05.2-r1::gentoo
# required by kde-frameworks/kio-5.116.0-r2::gentoo
# required by kde-apps/libkcddb-23.08.5-r1::gentoo
# required by kde-apps/k3b-24.05.2::gentoo
# required by @selected
# required by @world (argument)
>=dev-qt/qtbase-6.7.2-r4 opengl

and then again

# required by dev-qt/qtmultimedia-6.7.2-r1::gentoo
# required by dev-qt/qtmultimedia:6 (argument)
>=dev-qt/qtbase-6.7.2-r4 -opengl

and so on.

Maybe this is another one bug, not sure.
Comment 2 Alex Efros 2024-09-01 18:52:25 UTC
Here are list of packages which wasn't updated while KDE 5 to 6 upgrade:

# emerge -avuUD @world

These are the packages that would be merged, in order:

Calculating dependencies... done!
Dependency resolution took 49.58 s (backtrack: 5/20).

[ebuild  NS    ] dev-qt/qtmultimedia-6.7.2-r1:6/6.7.2::gentoo [5.15.14:5/5.15::gentoo] USE="X%* alsa eglfs%* ffmpeg%* opengl%* vaapi%* -gstreamer -pulseaudio -qml -test -v4l% -vulkan% (-debug%) (-gles2-only%) (-openal%) (-widgets%*)" 0 KiB
[ebuild  N     ] dev-qt/qtspeech-6.7.2:6/6.7.2::gentoo  USE="speechd -flite -qml" 0 KiB
[ebuild   R    ] net-analyzer/wireshark-4.2.6:0/4.2.6::gentoo  USE="capinfos captype dftest dumpcap editcap filecaps gui mergecap minizip netlink opus pcap plugins qt6* randpkt randpktdump reordercap sharkd ssl text2pcap tshark udpdump zlib zstd -androiddump -bcg729 -brotli -ciscodump -doc -dpauxmon -http2 -http3 -ilbc -kerberos -libxml2 -lua -lz4 -maxminddb -sbc -sdjournal (-selinux) -smi -snappy -spandsp -sshdump -test -tfshark -verify-sig -wifi" LUA_SINGLE_TARGET="lua5-1" 0 KiB
[ebuild  NS    ] kde-frameworks/ktexteditor-6.5.0:6/6.5::gentoo [5.116.0:5/5.116::gentoo] USE="editorconfig -debug -doc -test" 0 KiB
[ebuild  NS    ] kde-apps/kate-lib-24.05.2:6::gentoo [23.08.5:5::gentoo] USE="-debug -telemetry -test (-activities%)" 0 KiB
[uninstall     ] kde-apps/kate-lib-23.08.5:5::gentoo  USE="-activities -debug -telemetry -test" 
[blocks b      ] kde-apps/kate-lib:5 ("kde-apps/kate-lib:5" is soft blocking kde-apps/kate-lib-24.05.2)
[ebuild  NS    ] kde-apps/kwrite-24.05.2:6::gentoo [23.08.5:5::gentoo] USE="handbook -debug" 0 KiB
[uninstall     ] kde-apps/kwrite-23.08.5:5::gentoo  USE="handbook -debug" 
[blocks b      ] kde-apps/kwrite:5 ("kde-apps/kwrite:5" is soft blocking kde-apps/kwrite-24.05.2)
[ebuild  NS    ] kde-apps/konsole-24.05.2-r1:6::gentoo [23.08.5:5::gentoo] USE="X%* handbook -debug -test" 0 KiB
[uninstall     ] kde-apps/konsole-23.08.5:5::gentoo  USE="handbook -debug -test" 
[blocks b      ] kde-apps/konsole:5 ("kde-apps/konsole:5" is soft blocking kde-apps/konsole-24.05.2-r1)

Total: 7 packages (1 new, 5 in new slots, 1 reinstall, 3 uninstalls), Size of downloads: 0 KiB
Conflict: 3 blocks (all satisfied)
Comment 3 Ionen Wolkens gentoo-dev 2024-09-02 02:59:43 UTC
Be surprising if it didn't but, just in case, does this file exist?

    /usr/lib64/cmake/Qt6OpenGL/Qt6OpenGLConfig.cmake

Qt::OpenGLPrivate is provided by qtbase:6 w/ USE=opengl. Use *is* set given it's a dependency, but not impossible that something went wrong with it. Could be interesting to see qtbase's build.log if you still have it (albeit likely gone if you don't archive build logs)

That aside, I believe somewhere in /etc/portage you are setting USE=eglfs on qtbase and qtmultimedia (off-by-default). qtmultimedia only looks for OpenGLPrivate when that's set. Unsetting USE=eglfs on *both* qtbase and qtmultimedia will likely work around this.

Last time I tried USE=eglfs on qtmultimedia-6.7.2 it was fine though, so unsure why it'd be failing at the moment. I'll give it another try soon. If can't reproduce and without qtbase's build.log, may never be able to figure out what happened though.

On another note, don't bother trying to unset USE=opengl, it's essential for a plasma 6 system.
Comment 4 Ionen Wolkens gentoo-dev 2024-09-02 03:17:14 UTC
Ok, actually I can reproduce. My "guess" is that it worked for me before because I had *all* USE enabled, and qtmultimedia automagically found OpenGL through another target (thing is that it doesn't look for OpenGL at all).

Will try a quickfix soon, but please disable USE=eglfs either way, very unlikely that you need this (it's intended to use Qt *without* X or wayland on embedded systems).
Comment 5 Ionen Wolkens gentoo-dev 2024-09-02 04:04:43 UTC
Ah I see, this only happens with USE=-qml.

eglfs needs Qt::Quick either way (overlooked that), so just need to add the  REQUIRED_USE.

It'd probably make sense if Qt explicitly looked for OpenGLPrivate but it's not essential to change that.
Comment 6 Larry the Git Cow gentoo-dev 2024-09-02 04:06:25 UTC
The bug has been closed via the following commit(s):

https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=df70c8d13f33b700af13f2e792a287260f352a4f

commit df70c8d13f33b700af13f2e792a287260f352a4f
Author:     Ionen Wolkens <ionen@gentoo.org>
AuthorDate: 2024-09-02 04:00:11 +0000
Commit:     Ionen Wolkens <ionen@gentoo.org>
CommitDate: 2024-09-02 04:05:44 +0000

    dev-qt/qtmultimedia: require USE=qml with USE=eglfs
    
    Bit of a edge case so revbump is not essential, but rather avoid
    potential weird states in middle of Plasma 6 migration.
    
    Closes: https://bugs.gentoo.org/938890
    Signed-off-by: Ionen Wolkens <ionen@gentoo.org>

 .../{qtmultimedia-6.7.2-r1.ebuild => qtmultimedia-6.7.2-r2.ebuild}      | 2 +-
 dev-qt/qtmultimedia/qtmultimedia-6.7.9999.ebuild                        | 2 +-
 dev-qt/qtmultimedia/qtmultimedia-6.8.9999.ebuild                        | 2 +-
 dev-qt/qtmultimedia/qtmultimedia-6.9999.ebuild                          | 2 +-
 4 files changed, 4 insertions(+), 4 deletions(-)
Comment 7 Alex Efros 2024-09-02 07:55:44 UTC
(In reply to Ionen Wolkens from comment #3)
> Be surprising if it didn't but, just in case, does this file exist?
> 
>     /usr/lib64/cmake/Qt6OpenGL/Qt6OpenGLConfig.cmake

Yes, it exists:

# qfile /usr/lib64/cmake/Qt6OpenGL/Qt6OpenGLConfig.cmake
dev-qt/qtbase: /usr/lib64/cmake/Qt6OpenGL/Qt6OpenGLConfig.cmake

> That aside, I believe somewhere in /etc/portage you are setting USE=eglfs on
> qtbase and qtmultimedia (off-by-default).

Yes, I've it in global USE. Probably you're right and I don't need it - I wanted EGL support so enabled all related USE-flags just in case. I do need EGL in a docker containers, but at a glance this shouldn't be affected by disabling eglfs USE flag.

I can confirm: any one of USE=-eglfs or USE=qml fixes the issue. Thanks!