Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 904437 - media-tv/mythtv-32.0-r3 fails to build with >=media-libs/libva-2.18 (opengl/mythvaapiinterop.h:25:10: fatal error: va/va_glx.h: No such file or directory)
Summary: media-tv/mythtv-32.0-r3 fails to build with >=media-libs/libva-2.18 (opengl/m...
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Wilson M. Michaels
URL:
Whiteboard:
Keywords: PullRequest
Depends on:
Blocks:
 
Reported: 2023-04-17 08:05 UTC by Marius Stoica
Modified: 2023-06-15 00:14 UTC (History)
10 users (show)

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


Attachments
build.log (build.log.tar.bz,49.86 KB, application/x-bzip)
2023-04-17 08:09 UTC, Marius Stoica
Details
33.1 ebuild (mythtv-33.1.ebuild,12.00 KB, text/plain)
2023-06-13 11:55 UTC, Sebastian Parborg
Details
mythtv-33.1-libva.patch (mythtv-33.1-libva.patch,3.56 KB, patch)
2023-06-13 11:56 UTC, Sebastian Parborg
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Marius Stoica 2023-04-17 08:05:17 UTC
In file included from decoders/mythvaapicontext.cpp:12:
opengl/mythvaapiinterop.h:25:10: fatal error: va/va_glx.h: No such file or directory
   25 | #include "va/va_glx.h"
      |          ^~~~~~~~~~~~~
compilation terminated.
make[2]: *** [Makefile:19427: obj/mythvaapicontext.o] Error 1
make[2]: *** Waiting for unfinished jobs....
make[2]: Leaving directory '/var/tmp/portage/media-tv/mythtv-32.0-r3/work/mythtv-32.0/mythtv/libs/libmythtv'
make[1]: *** [Makefile:268: sub-libmythtv-make_first] Error 2
make[1]: Leaving directory '/var/tmp/portage/media-tv/mythtv-32.0-r3/work/mythtv-32.0/mythtv/libs'
make: *** [Makefile:66: libs] Error 2
 * ERROR: media-tv/mythtv-32.0-r3::gentoo failed (compile phase):
 *   emake failed
 * 
 * If you need support, post the output of `emerge --info '=media-tv/mythtv-32.0-r3::gentoo'`,
 * the complete build log and the output of `emerge -pqv '=media-tv/mythtv-32.0-r3::gentoo'`.
 * The complete build log is located at '/var/tmp/portage/media-tv/mythtv-32.0-r3/temp/build.log'.
 * The ebuild environment file is located at '/var/tmp/portage/media-tv/mythtv-32.0-r3/temp/environment'.
 * Working directory: '/var/tmp/portage/media-tv/mythtv-32.0-r3/work/mythtv-32.0/mythtv'
 * S: '/var/tmp/portage/media-tv/mythtv-32.0-r3/work/mythtv-32.0/mythtv'
!!! When you file a bug report, please include the following information:
GENTOO_VM=  CLASSPATH="" JAVA_HOME="/home/letto/.gentoo/java-config-2/current-user-vm"
JAVACFLAGS="" COMPILER=""
and of course, the output of emerge --info =mythtv-32.0



emerge --info media-tv/mythtv
Portage 3.0.46 (python 3.10.11-final-0, default/linux/amd64/17.1/desktop, gcc-12, glibc-2.37-r2, 5.15.107-gentoo x86_64)
=================================================================
                         System Settings
=================================================================
System uname: Linux-5.15.107-gentoo-x86_64-Intel-R-_Core-TM-_i9-9900K_CPU_@_3.60GHz-with-glibc2.37
KiB Mem:    32821380 total,   3112676 free
KiB Swap:          0 total,         0 free
Timestamp of repository gentoo: Mon, 17 Apr 2023 05:30:01 +0000
Head commit of repository gentoo: dcd5f428f6462953834de5c40b96ff71a9f378b4
sh bash 5.2_p15-r2
ld GNU ld (Gentoo 2.40 p4) 2.40.0
app-misc/pax-utils:        1.3.7::gentoo
app-shells/bash:           5.2_p15-r2::gentoo
dev-java/java-config:      2.3.1::gentoo
dev-lang/perl:             5.36.0-r2::gentoo
dev-lang/python:           2.7.18_p16-r1::gentoo, 3.9.16_p3::gentoo, 3.10.11::gentoo
dev-lang/rust:             1.68.2::gentoo
dev-util/cmake:            3.26.3::gentoo
dev-util/meson:            1.1.0::gentoo
sys-apps/baselayout:       2.13-r1::gentoo
sys-apps/openrc:           0.46::gentoo
sys-apps/sandbox:          2.30-r1::gentoo
sys-devel/autoconf:        2.13-r8::gentoo, 2.71-r6::gentoo
sys-devel/automake:        1.16.5-r1::gentoo
sys-devel/binutils:        2.40-r4::gentoo
sys-devel/binutils-config: 5.5::gentoo
sys-devel/clang:           15.0.7-r1::gentoo
sys-devel/gcc:             10.4.1_p20230302::gentoo, 11.3.1_p20230303::gentoo, 12.2.1_p20230304::gentoo
sys-devel/gcc-config:      2.10::gentoo
sys-devel/libtool:         2.4.7-r1::gentoo
sys-devel/lld:             15.0.7::gentoo
sys-devel/llvm:            15.0.7::gentoo
sys-devel/make:            4.4.1::gentoo
sys-kernel/linux-headers:  6.2::gentoo (virtual/os-headers)
sys-libs/glibc:            2.37-r2::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-jobs: 1
    sync-rsync-extra-opts: 
    sync-rsync-verify-metamanifest: no
    sync-rsync-verify-max-age: 24

kde
    location: /var/lib/layman/kde
    masters: gentoo
    priority: 50
    volatile: True

ACCEPT_KEYWORDS="amd64 ~amd64"
ACCEPT_LICENSE="@FREE GPLv3"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-march=x86-64 -O2 -pipe"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/lib64/libreoffice/program/sofficerc /usr/share/config /usr/share/gnupg/qualified.txt"
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=x86-64 -O2 -pipe"
DISTDIR="/var/cache/distfiles"
EMERGE_DEFAULT_OPTS="--with-bdeps=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=x86-64 -O2 -pipe"
FEATURES="assume-digests binpkg-docompress binpkg-dostrip binpkg-logs binpkg-multi-instance buildpkg-live 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 strict-keepdir unknown-features-warn unmerge-logs unmerge-orphans userfetch userpriv usersandbox usersync warn-on-large-env xattr"
FFLAGS="-march=x86-64 -O2 -pipe"
GENTOO_MIRRORS="http://distfiles.gentoo.org"
LANG="en_DE.UTF-8"
LC_ALL="en_US.UTF-8"
LDFLAGS="-Wl,-O1 -Wl,--as-needed"
LEX="flex"
MAKEOPTS="-j9"
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/bash"
USE="X a52 aac acl acpi alsa amd64 attica bluray branding bzip2 cairo caps cdda cdr cjk cli crypt cxx dbus designer dri dts dvb dvd dvdr elogind encode epub evdev exif ffmpeg flac fontconfig fortran gdbm gif git gmp gpm gui iconv icu idn jpeg kde lcms libglvnd libnotify libtirpc lm-sensors lm_sensors lzma mad man mng mp3 mp4 mpeg mpfr multilib ncurses nls nptl nvenc ogg openexr opengl openmp pam pango pcre pdf png policykit ppds pulseaudio qml qt5 readline sctp sdl seccomp sound spell split-usr sqlite ssl startup-notification subversion svg syslog taglib test-rust theora tiff truetype udev udisks unicode upower usb vaapi vdpau verify-sig vim-syntax vorbis vulkan wayland webp wxwidgets x264 x265 xattr xcb xft xinerama xml xv xvid zlib" ABI_X86="32 64" ADA_TARGET="gnat_2021" 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 sse3 sse4_1 sse4_2 ssse3" CURL_SSL="openssl" 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="pc" INPUT_DEVICES="libinput evdev" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LIBREOFFICE_EXTENSIONS="presenter-console presenter-minimizer" LLVM_TARGETS="BPF NVPTX" LUA_SINGLE_TARGET="lua5-1" LUA_TARGETS="lua5-1" OFFICE_IMPLEMENTATION="libreoffice" PHP_TARGETS="php7-4 php8-0" POSTGRES_TARGETS="postgres12 postgres13" PYTHON_SINGLE_TARGET="python3_10" PYTHON_TARGETS="python3_10" RUBY_TARGETS="ruby30 ruby32" 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:  ADDR2LINE, AR, ARFLAGS, AS, ASFLAGS, CC, CCLD, CONFIG_SHELL, CPP, CPPFLAGS, CTARGET, CXX, CXXFILT, ELFEDIT, EXTRA_ECONF, F77FLAGS, FC, GCOV, GPROF, INSTALL_MASK, LD, LFLAGS, LIBTOOL, LINGUAS, MAKE, MAKEFLAGS, NM, OBJCOPY, OBJDUMP, PORTAGE_BINHOST, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS, RANLIB, READELF, RUSTFLAGS, SIZE, STRINGS, STRIP, YACC, YFLAGS

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

media-tv/mythtv-32.0-r2::gentoo was built with the following:
USE="X alsa cdda cdr dvb dvd exif lame libass nvdec opengl perl pulseaudio raw v4l vaapi vdpau vpx wrapper x264 x265 xml xmltv xvid zeroconf -asi -autostart -cec -ceton -debug -fftw -hdhomerun -ieee1394 -jack -java -lcd -lirc -oss -python -systemd -vbox" ABI_X86="(64)" INPUT_DEVICES="-joystick"
FEATURES="assume-digests binpkg-docompress binpkg-dostrip binpkg-logs binpkg-multi-instance buildpkg-live 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 strict-keepdir unknown-features-warn unmerge-logs unmerge-orphans userfetch userpriv usersandbox usersync xattr"



Reproducible: Always
Comment 1 Marius Stoica 2023-04-17 08:09:01 UTC
Created attachment 860225 [details]
build.log
Comment 2 Marius Stoica 2023-04-19 15:17:36 UTC
Of course, this only happens if the vaapi use flag is enabled.

Also, media-tv/mythtv[vaapi] can be emerged just fine with media-libs/libva-2.17.0 (and fails with media-libs/libva-2.18.0-r1)

So, it might be a problem with the latest version of media-libs/libva ...
Comment 3 Amel Hodzic 2023-04-22 06:52:23 UTC
Indeed, 2.18.0-r1 ebuild shows the config phase set to "-Dwith_x11=$(usex X) -Dwith_glx=no".
Not sure why that was explicitly disabled, and the header files that were included before removed.
Comment 5 Norman Back 2023-05-14 06:27:10 UTC
Confirmed. I have the same issue. Downgrading to media-libs/libva-2.17.0-1 fixed it.
Comment 6 Norman Back 2023-05-14 07:24:47 UTC
I can confirm that setting Dwith_glx=yes in media-libs/libva-2.18.0 floowed by recompiling media-libs/libva and mythtv also fixes the issue. Tested with mythfrontend.
Comment 7 Sebastian Parborg 2023-06-13 09:35:50 UTC
My bad, it seems like I missed this issue.

I'll try to provide a patch and try to upstream it as well.

The issue seems like they unconditionally try to drag in the glx backend from libva even if the program will use the egl backend if available.
(And currently on Gentoo we always have EGL available for OpenGL)

I missed this when testing because I had lingering libva headers on my system.
Comment 8 Sebastian Parborg 2023-06-13 11:55:58 UTC
Created attachment 863763 [details]
33.1 ebuild
Comment 9 Sebastian Parborg 2023-06-13 11:56:39 UTC
Created attachment 863764 [details, diff]
mythtv-33.1-libva.patch
Comment 10 Sebastian Parborg 2023-06-13 11:58:28 UTC
Could you guys checks if it works for you with the provided 33.1 ebuild and the libva patch?

The patch can be backported to version 32, but I figured we should probably try to bump the version either way.
Comment 11 Florian Evers 2023-06-13 16:46:13 UTC
Hi Sebastian,

at first, I really appreciate your efforts to fix and update MythTV for us, great work, thank you!

I added your two files to my local portage overlay and was able to compile mythtv-33.1 without any issues (after grabbing the remaining stuff for the files folder). Looks great.

However, a test (startup) needs some time as my box running the mythbackend performs an update just now, and I need to wait for it to finish. Then, I'm going to add the local overlay and update to mythtv-33.1 to have a matching backend.

I'll report as soon as I have new information!

Kind regards,
Florian
Comment 12 Sam James archtester Gentoo Infrastructure gentoo-dev Security 2023-06-13 17:22:05 UTC
Thank you! Sebastian, when we've had a confirmation it works, could you throw up a PR with this in? (And thanks for looking at this)
Comment 13 Florian Evers 2023-06-13 21:16:19 UTC
Hi again,

So, its done. I had no problems with the update at all. Interestingly, mythfrontend from mythtv-33.1 seems to work fine together with mychbackend from mythtv-32.0-r4 (they reside on different machines, of course). I didn't expect that, normally there were database version warnings or other issues.

Even after updating mythbackend on my server everything worked fine. There was no need to invoke mythtv-setup on the backend server at all. Nevertheless, I started mythtv-stup later to check for any issues, but there were no messages regarding a database migration or incompatibilities.

Beware, check your backup strategy, maybe I was a little bit careless here. That could have toasted my TV setup.

To summarize, works well for me, I'm happy, thank you all :-)

Regards,
Florian
Comment 14 Sebastian Parborg 2023-06-14 10:44:40 UTC
I've opened up a pull request upstream in the mythtv repo as well, in case anyone is interested: https://github.com/MythTV/mythtv/pull/760
Comment 15 Larry the Git Cow gentoo-dev 2023-06-15 00:12:52 UTC
The bug has been closed via the following commit(s):

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

commit c48ae7a5696fe3ddabd170e3e6e12f1ea26dc7bb
Author:     Sebastian Parborg <darkdefende@gmail.com>
AuthorDate: 2023-06-14 10:06:12 +0000
Commit:     Sam James <sam@gentoo.org>
CommitDate: 2023-06-14 23:58:47 +0000

    media-tv/mythtv: Bump to 33.1 and fix compilation with libva
    
    Closes: https://bugs.gentoo.org/904437
    Signed-off-by: Sebastian Parborg <darkdefende@gmail.com>
    Closes: https://github.com/gentoo/gentoo/pull/31432
    Signed-off-by: Sam James <sam@gentoo.org>

 media-tv/mythtv/Manifest                      |   1 +
 media-tv/mythtv/files/mythtv-33.1-libva.patch | 105 +++++++
 media-tv/mythtv/mythtv-33.1.ebuild            | 421 ++++++++++++++++++++++++++
 3 files changed, 527 insertions(+)
Comment 16 Larry the Git Cow gentoo-dev 2023-06-15 00:14:49 UTC
The bug has been referenced in the following commit(s):

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

commit 1fd8f303366c06b64df5b7b3e9f2776482a34bd7
Author:     Sam James <sam@gentoo.org>
AuthorDate: 2023-06-15 00:14:20 +0000
Commit:     Sam James <sam@gentoo.org>
CommitDate: 2023-06-15 00:14:20 +0000

    media-tv/mythtv: add bug/upstream PR info to patch
    
    Bug: https://bugs.gentoo.org/904437
    Signed-off-by: Sam James <sam@gentoo.org>

 media-tv/mythtv/files/mythtv-33.1-libva.patch | 8 ++------
 1 file changed, 2 insertions(+), 6 deletions(-)