Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 777774 - media-video/mpv[vulkan,wayland] fails to build: context_wayland.c:175: undefined reference to `vkCreateWaylandSurfaceKHR'
Summary: media-video/mpv[vulkan,wayland] fails to build: context_wayland.c:175: undefi...
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal
Assignee: Ionen Wolkens
URL:
Whiteboard:
Keywords: PullRequest
Depends on:
Blocks:
 
Reported: 2021-03-22 21:40 UTC by WGH
Modified: 2022-11-07 19:30 UTC (History)
1 user (show)

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


Attachments
build.log (build.log,282.94 KB, text/plain)
2021-03-22 21:41 UTC, WGH
Details

Note You need to log in before you can comment on or make changes to this bug.
Description WGH 2021-03-22 21:40:52 UTC
Cannot emerge media-video/mpv[wayland,vulkan]: the build fails during linking.

/usr/lib/gcc/x86_64-pc-linux-gnu/10.2.0/../../../../x86_64-pc-linux-gnu/bin/ld: video/out/vulkan/context_wayland.c.29.o: in function `wayland_vk_init':
/var/tmp/portage/media-video/mpv-0.33.0-r100/work/mpv-0.33.0/build/../video/out/vulkan/context_wayland.c:175: undefined reference to `vkCreateWaylandSurfaceKHR'


Reproducible: Always

Steps to Reproduce:
1. emerge media-video/mpv[wayland,vulkan] when also having media-libs/vulkan-loader[-wayland]
Actual Results:  
ERROR: media-video/mpv-0.33.0-r100::gentoo failed (compile phase)

Expected Results:  
>>> media-video/mpv-0.33.0-r100 merged.

I got it fixed by re-emerging media-libs/vulkan-loader with wayland USE flag.

Portage 3.0.13 (python 3.8.8-final-0, default/linux/amd64/17.1/systemd, gcc-10.2.0, glibc-2.32-r7, 5.10.25-gentoo x86_64)
=================================================================
                         System Settings
=================================================================
System uname: Linux-5.10.25-gentoo-x86_64-AMD_Ryzen_9_3900XT_12-Core_Processor-with-glibc2.2.5
KiB Mem:   131841416 total, 121108408 free
KiB Swap:          0 total,         0 free
Timestamp of repository gentoo: Sat, 20 Mar 2021 15:45:01 +0000
Head commit of repository gentoo: fa4a3e7c2271e7830b7648734a881e251e25b4cb
Timestamp of repository pentoo: Wed, 17 Mar 2021 20:35:54 +0000
Head commit of repository pentoo: a34204ae2f29720f8bdf78f98893bc1209745647

Timestamp of repository qownnotes-overlay: Thu, 18 Mar 2021 17:35:59 +0000
Head commit of repository qownnotes-overlay: 7a7b8a8ef2759011e7716fcd8a60a9bf7d8c5078

Timestamp of repository sage-on-gentoo: Fri, 19 Mar 2021 01:36:02 +0000
Head commit of repository sage-on-gentoo: 2e8a83d2772011165cbe5d9949cfc275680171ce

Timestamp of repository steam-overlay: Fri, 19 Mar 2021 23:35:59 +0000
Head commit of repository steam-overlay: d052378075e406077a776ec5ce9ed07f3a3e0be5

sh bash 5.0_p18
ld GNU ld (Gentoo 2.35.1 p2) 2.35.1
distcc 3.3.3 x86_64-pc-linux-gnu [disabled]
app-shells/bash:          5.0_p18::gentoo
dev-java/java-config:     2.3.1::gentoo
dev-lang/perl:            5.30.3::gentoo
dev-lang/python:          2.7.18_p7::gentoo, 3.7.10::gentoo, 3.8.8::gentoo, 3.9.2::gentoo
dev-util/cmake:           3.18.5::gentoo
sys-apps/baselayout:      2.7::gentoo
sys-apps/sandbox:         2.20::gentoo
sys-devel/autoconf:       2.13-r1::gentoo, 2.69-r5::gentoo
sys-devel/automake:       1.16.2-r1::gentoo
sys-devel/binutils:       2.35.1-r1::gentoo
sys-devel/gcc:            10.2.0-r5::gentoo
sys-devel/gcc-config:     2.3.3::gentoo
sys-devel/libtool:        2.4.6-r6::gentoo
sys-devel/make:           4.3::gentoo
sys-kernel/linux-headers: 5.10::gentoo (virtual/os-headers)
sys-libs/glibc:           2.32-r7::gentoo
Repositories:

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

localrepo
    location: /var/db/repos/localrepo
    masters: gentoo

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

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

sage-on-gentoo
    location: /var/db/repos/sage-on-gentoo
    sync-type: git
    sync-uri: https://github.com/gentoo-mirror/sage-on-gentoo.git
    masters: gentoo

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

Installed sets: @wgh-wayland
ACCEPT_KEYWORDS="amd64"
ACCEPT_LICENSE="@FREE"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-march=native -O2 -pipe"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/lib64/libreoffice/program/sofficerc /usr/share/gnupg/qualified.txt /usr/share/maven-bin-3.6/conf"
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 /etc/texmf/language.dat.d /etc/texmf/language.def.d /etc/texmf/updmap.d /etc/texmf/web2c"
CXXFLAGS="-march=native -O2 -pipe"
DISTDIR="/var/cache/distfiles"
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="-march=native -O2 -pipe"
FEATURES="assume-digests binpkg-docompress binpkg-dostrip binpkg-logs 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 strict unknown-features-warn unmerge-logs unmerge-orphans userfetch userpriv usersandbox usersync xattr"
FFLAGS="-march=native -O2 -pipe"
GENTOO_MIRRORS="http://mirror.yandex.ru/gentoo-distfiles/"
LANG="C.UTF8"
LDFLAGS="-Wl,-O1 -Wl,--as-needed"
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"
USE="acl amd64 berkdb bindist bzip2 cli crypt dri fortran gdbm iconv ipv6 libglvnd libtirpc multilib ncurses nls nptl openmp pam pcre readline seccomp split-usr ssl systemd tcpd udev unicode xattr zlib" ABI_X86="64" ADA_TARGET="gnat_2018" 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="mmx mmxext sse sse2 aes avx avx2 f16c fma3 pclmul popcnt rdrand sha sse3 sse4_1 sse4_2 sse4a 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" GRUB_PLATFORMS="efi-64" INPUT_DEVICES="libinput" KERNEL="linux" 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="postgres10 postgres11" PYTHON_SINGLE_TARGET="python3_8" PYTHON_TARGETS="python3_8" RUBY_TARGETS="ruby26" USERLAND="GNU" VIDEO_CARDS="amdgpu radeonsi" 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, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LC_ALL, LINGUAS, PORTAGE_BINHOST, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS

=================================================================
                        Package Settings
=================================================================

media-video/mpv-0.33.0-r100::gentoo was built with the following:
USE="X alsa cli egl iconv lua opengl pulseaudio uchardet vaapi vdpau vulkan wayland xv zlib (-aqua) -archive -bluray -cdda (-coreaudio) -cplugins (-cuda) -debug -doc -drm -dvb -dvd -gamepad -gbm -jack -javascript -jpeg -lcms -libcaca -libmpv -openal (-raspberry-pi) -rubberband -sdl (-selinux) -test -tools -zimg" ABI_X86="(64)" LUA_SINGLE_TARGET="lua5-1 -lua5-2 -luajit" PYTHON_TARGETS="python3_8 -python3_7 -python3_9"
CFLAGS="-march=native -O2 -pipe -ggdb"
CXXFLAGS="-march=native -O2 -pipe -ggdb"
FEATURES="userpriv preserve-libs unknown-features-warn multilib-strict binpkg-docompress parallel-fetch binpkg-logs ebuild-locks sfperms splitdebug userfetch network-sandbox usersandbox xattr binpkg-dostrip merge-sync usersync ipc-sandbox compressdebug unmerge-orphans unmerge-logs distlocks strict pid-sandbox news sandbox qa-unresolved-soname-deps config-protect-if-modified assume-digests fixlafiles protect-owned"
Comment 1 WGH 2021-03-22 21:41:48 UTC
Created attachment 693114 [details]
build.log
Comment 2 Ionen Wolkens gentoo-dev 2021-03-22 23:15:43 UTC
Essentially same as bug #753434 except for wayland instead, both could be fixed together by having vulkan-loader[X?,wayland?] alongside libplacebo
Comment 3 Larry the Git Cow gentoo-dev 2022-11-07 19:30:19 UTC
The bug has been closed via the following commit(s):

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

commit 6d12bd1af38d8887a89d21a7c7b1807e0eafd029
Author:     Ionen Wolkens <ionen@gentoo.org>
AuthorDate: 2022-11-06 14:29:22 +0000
Commit:     Ionen Wolkens <ionen@gentoo.org>
CommitDate: 2022-11-07 19:28:00 +0000

    media-video/mpv: add 0.34.1_p20221105
    
    mpv releases are rare and it can be difficult to backport fixes
    (e.g. old libplacebo is broken with newer glslang, but new
    libplacebo breaks current mpv, not that can't disable glslang
    or vulkan on mpv if need be).
    
    So will release snapshots if felt necessary, please report if feel
    a newer snapshot would be useful.
    
    One quirk is that a whole year ago it switched to API 2.0 and not
    all revdeps are ready for this (mostly a few trivial deprecations).
    Personally see this as a good time to get this sorted out.
    
    Note this also include meson migration, which may still have
    oversights. MacOS / rpi builds are also untested, feel free to
    make any changes to improve these two if you use/know them.
    
    rough list of non-style changes from -9999 (non-exhaustive):
    * update DESCRIPTION, upstream been dissociating itself with the
      original MPlayer
    * drop pkg_postinst versions messages (0.18-0.25 is rather ancient)
    * drop docdir patch as it installed examples .conf to /usr/share/mpv,
      instead just move these to docdir/examples
    * drop IUSE=cplugins and enable by default, upstream default and
      not seeing a motivation to be optional
    * drop IUSE=gbm, rather redundant with IUSE=drm and is default on mesa
    * limit USE=opengl to controlling gl-x11/gl-cocoa backends rather than
      the general `gl` option, avoids e.g. `egl? ( opengl )` req use
    * make IUSE=opengl non-default given gl-x11 is deprecated, albeit
      still let it be enabled by desktop profiles
    * add IUSE=+libplacebo split off from IUSE=vulkan and depend on newer
      version, if recent enough this enables `-vo gpu-next` which is not
      limited to vulkan (default given libplacebo main author is same as
      mpv's and this is the obvious focus)
    * invert IUSE=debug logic, was passing N(no)DEBUG with debug
    * swap mesa with libglvnd for IUSE=egl, low level driver packages
      handling is not for us (and mesa is meaningless with nvidia with
      the exception of getting libgbm)
    * ^ likewise, drop nvidia-drivers (ffmpeg/obs/etc.. also don't check
      drivers for nvenc)
    * only depend on docutils + build man/html with USE=cli, and drop
      IUSE=doc (mpv.html has same dependency as the man page)
    * fix python-exec[-native-symlinks] when USE=-tools, calls 'python3'
      at build time too
    * depend on vulkan-loader[X?,wayland?] wrt bug #753434 and #777774
    * various deps and tentative REQUIRED_USE adjustments
    
    Closes: https://bugs.gentoo.org/753434
    Closes: https://bugs.gentoo.org/777774
    Signed-off-by: Ionen Wolkens <ionen@gentoo.org>

 media-video/mpv/Manifest                    |   1 +
 media-video/mpv/metadata.xml                |   1 +
 media-video/mpv/mpv-0.34.1_p20221105.ebuild | 289 ++++++++++++++++++++++++++++
 3 files changed, 291 insertions(+)