Forums

Skip to content

Advanced search
  • Quick links
    • Unanswered topics
    • Active topics
    • Search
  • FAQ
  • Login
  • Register
  • Board index Assistance Multimedia
  • Search

MythTV won't recompile: how to proceed?

Help with creation, editing, or playback of sounds, images, or video. Amarok, audacious, mplayer, grip, cdparanoia and anything else that makes a sound or plays a video.
Post Reply
Advanced search
56 posts
  • 1
  • 2
  • 3
  • Next
Author
Message
jamtat
Apprentice
Apprentice
Posts: 162
Joined: Sat Aug 09, 2003 3:33 pm

MythTV won't recompile: how to proceed?

  • Quote

Post by jamtat » Sun Apr 05, 2015 9:34 pm

This post refers to a new Gentoo installation I've been working on for the past few weeks--the first installation of Gentoo I've ever performed. I've been at GNU/Linux for a few years, but am quite new to Gentoo. The OS was chosen to serve mainly as a base on which to run MythTV.

I've had my share of issues getting the system up and running. But I did get a good deal of what I wanted more or less functional, including MythTV. I got confused about some issues in the early stages of running the OS and began to think I had picked the wrong profile: I decided that, instead of selecting the desktop profile for the initial installation, I should have selected the no-multilib profile. I therefore decided to switch profiles from desktop to no-multilib--something I now think was a mistake.

After having switched profiles to no-multilib, while trying to get MythTV fully functional, I realized that I had not enabled one important flag, and that this was why one of my three tuner cards could not be set up under MythTV. But on setting that flag and trying to recompile MythTV, I discovered it would no longer compile: I believe the compile may be failing due to a Gentoo bug (you can read about my attempts to compile in the threads https://forums.gentoo.org/viewtopic-t-1013668.html and https://forums.gentoo.org/viewtopic-t-914500.html and about the suspected bug at https://bugs.gentoo.org/500446 )

So I'm now trying to determine how to proceed. I can think of three possible avenues, which I'll list here in order, from most desirable to least desirable:
  • 1) discover some heretofore unconsidered workaround or solution that will allow me get MythTV to recompile with the dvb support I need

    2) switch back to the desktop profile--the assumption being that, since the installation of MythTV I now have was compiled under the desktop profile, it should succeed again once I switch back (the problem with this option, as we may understand, is that switching from no-multilib--while it can be done--is tricky and unsupported)

    3) hose this installation, into which has gone many days and hours of my time, and re-install gentoo
I know how to do 3) but don't want to waste all the time and effort I've put into this project thus far. I have a vague conception of how to do 2), which I might actually be able to pull off using directions from sites like https://guymann.github.io/2013/02/11/32bit-gentoo/ and http://jkroon.blogs.uls.co.za/it/gentoo ... o-multilib. Option 1) is most desirable, but given my lack of technical expertise, especially in connection with this distro, I am at a loss as to what else I might try in order to get MythTV to recompile. Someone was trying to render some assistance in the thread https://forums.gentoo.org/viewtopic-t-914500.html , but none of his suggestions seemed to be working. Then he stopped responding, leading me to believe that perhaps he was out of ideas as to what we might try further.

I would appreciate any input on the dilemma with which I'm faced. Can anyone offer any advice on how I might accomplish 1) from my list? If not, does my supposition that switching back from no-multilib might be the most promising avenue for getting MythTV to compile again, seem sound? Input will be appreciated.

PS Briefly, the compile fails at not finding either va/va_glx.h or va/va_x11.h
Top
jamtat
Apprentice
Apprentice
Posts: 162
Joined: Sat Aug 09, 2003 3:33 pm

  • Quote

Post by jamtat » Mon Apr 06, 2015 6:34 pm

To add a bit more information, here is the tail end of the most recent compilation failure:

Code: Select all

x86_64-pc-linux-gnu-g++ -c -pipe -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -DPIC -march=native -O2 -march=corei7 -DNDEBUG -fomit-frame-pointer -fPIC -pthread -g -Wall -Wpointer-arith -D__STDC_CONSTANT_MACROS -D__STDC_LIMIT_MACROS -fvisibility-inlines-hidden -Wmissing-declarations -Wno-switch -Woverloaded-virtual -funit-at-a-time -I/usr/include/freetype2 -fvisibility=hidden -D_REENTRANT -fPIC -DMMX -D_GNU_SOURCE -DUSING_LIBCRYPTO -DUSING_X11 -DUSING_XV -DUSING_OPENGL -DUSING_OPENGL_VIDEO -DUSING_VAAPI -DUSING_GLVAAPI -DUSING_MHEG -DUSING_FRONTEND -DUSING_FFMPEG_THREADS -DUSING_ALSA -DUSING_OSS -DUSING_V4L2 -DUSING_IPTV -DUSING_HDHOMERUN -DUSING_CETON -DUSING_IVTV -DUSING_HDPVR -DUSING_DVB -DUSING_BACKEND -DMTV_API -DQT_SQL_LIB -DQT_XML_LIB -DQT_OPENGL_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -DQT_SHARED -I/usr/share/qt4/mkspecs/linux-g++ -I. -I/usr/include/qt4/QtCore -I/usr/include/qt4/QtNetwork -I/usr/include/qt4/QtGui -I/usr/include/qt4/QtOpenGL -I/usr/include/qt4/QtXml -I/usr/include/qt4/QtSql -I/usr/include/qt4 -I/usr -I/usr/include/libxml2 -I../../external/qjson/include -I../../external/zeromq/include -I../../external/nzmqt/include/nzmqt -I.. -I../.. -I../../external/FFmpeg -I. -I../libmyth -I../libmyth/audio -I../libmythbase -I../libmythdvdnav -Impeg -Ichannelscan -Ivisualisations -Irecorders -Irecorders/dvbdev -Irecorders/rtp -Irecorders/vbitext -Irecorders/HLS -I../libmythlivemedia/BasicUsageEnvironment/include -I../libmythlivemedia/BasicUsageEnvironment -I../libmythlivemedia/groupsock/include -I../libmythlivemedia/groupsock -I../libmythlivemedia/liveMedia/include -I../libmythlivemedia/liveMedia -I../libmythlivemedia/UsageEnvironment/include -I../libmythlivemedia/UsageEnvironment -I../libmythbase -I../libmythui -I../libmythupnp -I../libmythservicecontracts -I/usr/include -I../libmythdvdnav -I../../external/libmythbluray -I../../external/libhdhomerun -I/usr/X11R6/include -I. -o avformatdecoder.o avformatdecoder.cpp
In file included from avformatdecoder.cpp:60:0:
vaapicontext.h:12:23: fatal error: va/va_glx.h: No such file or directory
 #include "va/va_glx.h"
                       ^
compilation terminated.
Makefile:6713: recipe for target 'avformatdecoder.o' failed
make[2]: *** [avformatdecoder.o] Error 1
make[2]: *** Waiting for unfinished jobs....
make[2]: Leaving directory '/var/tmp/portage/media-tv/mythtv-0.27_p20140321/work/mythtv-0.27/mythtv/libs/libmythtv'
Makefile:309: recipe for target 'sub-libmythtv-make_default' failed
make[1]: *** [sub-libmythtv-make_default] Error 2
make[1]: Leaving directory '/var/tmp/portage/media-tv/mythtv-0.27_p20140321/work/mythtv-0.27/mythtv/libs'
Makefile:67: recipe for target 'libs' failed
make: *** [libs] Error 2
 * ERROR: media-tv/mythtv-0.27_p20140321::gentoo failed (compile phase):
 *   emake failed
I was advised in another thread to add the flags ffmpeg and -libav to /etc/portage/make.conf, which I did, then to run `emerge -pvuDN world.' Here is the output I get when I've run that command just now:

Code: Select all

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

Calculating dependencies... done!
[ebuild   R    ] media-tv/mythtv-0.27_p20140321  USE="alsa dvb* hls python theora vaapi vorbis xml xvid (-altivec) -autostart -bluray -cec -crystalhd -debug -dvd* -egl -fftw -ieee1394 -jack -lcd -libass -lirc -perl -pulseaudio -raop -vdpau -xmltv" INPUT_DEVICES="-joystick" 0 KiB

Total: 1 package (1 reinstall), Size of downloads: 0 KiB
Finally, I was also advised to run `equery uses mythtv,` which, as I understand it, gives information related to the currently-installed MythTV on this system. The output on running that command is

Code: Select all

[ Legend : U - final flag setting for installation]
[        : I - package is installed with flag     ]
[ Colors : set, unset                             ]
 * Found these USE flags for media-tv/mythtv-0.27_p20140321:
 U I
 + + alsa                   : Allows MythTV to directly output sound to ALSA devices, this is needed if you are using ALSA dmix or SPDIF. Note, you
                              will have to physically type your device into the MythTV configuration since it will only give you /dev/dsp devices in
                              the drop down.
 - - autostart              : Uses a custom autostart configuration gleaned from experience with MythTV since its early versions and discussed with
                              other MythTV maintainers and users. Does not rely on KDE being installed like most methods do.
 - - bluray                 : Pulls in libbluray for BluRay support.
 - - cec                    : Allows you to control CEC enabled TVs via HDMI. Currently requires a USB based CEC -> HDMI injector between your TV and
                              video card since no graphics drivers support CEC natively.
 - - crystalhd              : Allows you to utilize a Broadcom CrystalHD hardware based video decoder to improve the performance of video decode.
 - - debug                  : Instructs Qt to use the 'debug' target instead of 'release' target. If your MythTV is crashing or you need a backtrace,
                              you need to compile it with this option otherwise the debugging data is useless.
 + - dvb                    : Enables support for Linux DVB cards. These include all cards that work with digital signals such as ATSC, DVB-T, DVB-C,
                              and DVB-S, QAM-64, and QAM-256.
 - + dvd                    : Add support for DVDs
 - - egl                    : Support EGL video output.
 - - fftw                   : Support visualizations via sci-libs/fftw
 + + hls                    : HTTP Live Streaming support
 - - ieee1394               : Allows MythTV to communicate and use Firewire enabled Cable boxes. These are typically found in the United States, where
                              such support is required by law. This will also install Firewire test programs and external channel changers if the
                              internal changer does not work.
 - - input_devices_joystick : INPUT_DEVICES setting to build driver for joystick input devices
 - - jack                   : Allows MythTV to use JACK as your sound output device. You will have to manually configure the path to your JACK
                              settings.
 - - lcd                    : Tells MythTV that you have an instance of app-misc/lcdproc configured on your machine and it should output information
                              such as current time, show name, episode name, etc to that LCD.
 - - libass                 : SRT/SSA/ASS (SubRip / SubStation Alpha) subtitle support
 - - lirc                   : Adds LIRC support directly to MythTV allowing for built in control via a LIRC device.
 - - perl                   : Builds the perl bindings for MythTV. Allows you to write scripts in Perl to control your MythTV setup or communicate with
                              it.
 - - pulseaudio             : Add support for PulseAudio sound server
 + + python                 : Add optional support/bindings for the Python language
 - - raop                   : Remote Audio Output Protocol (aka AirTunes/AirPlay)
 + + theora                 : Add support for the Theora Video Compression Codec
 + + vaapi                  : Enable Video Acceleration API for hardware decoding
 - - vdpau                  : Enable the Video Decode and Presentation API for Unix acceleration interface
 + + vorbis                 : Add support for the OggVorbis audio codec
 + + xml                    : Add support for XML files
 - - xmltv                  : Pulls in the media-tv/xmltv TV listing grabbers for users not using Schedules Direct.
 + + xvid                   : Add support for xvid.org's open-source mpeg-4 codec
Not sure how relevant/helpful that may be in garnering some further support on this issue, but thought I should add it here just in case. Input will be appreciated.
Top
Jaglover
Watchman
Watchman
User avatar
Posts: 8291
Joined: Sun May 29, 2005 1:57 am
Location: Saint Amant, Acadiana

  • Quote

Post by Jaglover » Mon Apr 06, 2015 8:17 pm

Will it build with -vaapi ? And, when troubleshooting, I'd recommend using MAKEOPTS=-j1.
My Gentoo installation notes.
Please learn how to denote units correctly!
Top
jamtat
Apprentice
Apprentice
Posts: 162
Joined: Sat Aug 09, 2003 3:33 pm

  • Quote

Post by jamtat » Mon Apr 06, 2015 9:22 pm

Thanks for your suggestion, Jaglover. I guess I'm ready to try just about anything since I seem to be totally stuck at the moment. I suppose I could test your suggestion by just using a command like

Code: Select all

USE="-vaapi" MAKEOPTS="-j1" emerge mythtv
correct?
Top
jamtat
Apprentice
Apprentice
Posts: 162
Joined: Sat Aug 09, 2003 3:33 pm

  • Quote

Post by jamtat » Tue Apr 07, 2015 3:16 am

I finally have some good news to report on the compilation front. The command

Code: Select all

USE="-vaapi" MAKEOPTS="-j1" emerge mythtv
did result, at last, in a successful recompile of of MythTV on this system. And I am now able, using mythtv-setup, to select the DVB tuner I'd thus far not been able to set up. So there is a bit of progress on at least one front--though some regress on another.

The problem is that the successful compilation has come at the expense of vaapi functionality in MythTV. I'm not sure what not having that support will mean in terms of real-world experience, but I suspect it might have an impact. I think that may be the case because the CPU on this machine is slightly underpowered, so having some of the video processing offloaded to the graphics hardware--as I understand vaapi to enable--seems, if not necessary, at least desirable.

So is there no way to have my cake and eat it too, here? Anyone have further ideas for other steps I might take to get vaapi back? Further input will be appreciated.
Top
Jaglover
Watchman
Watchman
User avatar
Posts: 8291
Joined: Sun May 29, 2005 1:57 am
Location: Saint Amant, Acadiana

  • Quote

Post by Jaglover » Tue Apr 07, 2015 9:08 am

Do you have vaapi enabled globally? What Intel card do you have? Now you have mythtv installed and have nothing to lose, try with vaapi and MAKEOPTS=-j1, will it build?
My Gentoo installation notes.
Please learn how to denote units correctly!
Top
jamtat
Apprentice
Apprentice
Posts: 162
Joined: Sat Aug 09, 2003 3:33 pm

  • Quote

Post by jamtat » Tue Apr 07, 2015 12:44 pm

Thanks for your further input, Jaglover. I do have vaapi among my USE= flags in make.conf, yes. I also have there VIDEO_CARDS="intel i915," which indicates what video hardware this machine has. I did try, before the successful build, the command

Code: Select all

MAKEOPTS="-j1" emerge mythtv
and got another failure. Do you think running that command now that MythTV has successfully compiled without vaapi support will somehow go differently? I'm willing to try it again, though I'm pretty sure what will be the outcome.
Top
jamtat
Apprentice
Apprentice
Posts: 162
Joined: Sat Aug 09, 2003 3:33 pm

  • Quote

Post by jamtat » Tue Apr 07, 2015 4:49 pm

Like I suspected would happen, I get the same old compilation failure when I run

Code: Select all

MAKEOPTS="-j1" emerge mythtv
(without -vaapi).

Here's the the tail end of the error output:

Code: Select all

x86_64-pc-linux-gnu-g++ -c -pipe -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -DPIC -march=native -O2 -march=corei7 -DNDEBUG -fomit-frame-pointer -fPIC -pthread -g -Wall -Wpointer-arith -D__STDC_CONSTANT_MACROS -D__STDC_LIMIT_MACROS -fvisibility-inlines-hidden -Wmissing-declarations -Wno-switch -Woverloaded-virtual -funit-at-a-time -I/usr/include/freetype2 -fvisibility=hidden -D_REENTRANT -fPIC -DMMX -D_GNU_SOURCE -DUSING_LIBCRYPTO -DUSING_X11 -DUSING_XV -DUSING_OPENGL -DUSING_OPENGL_VIDEO -DUSING_VAAPI -DUSING_GLVAAPI -DUSING_MHEG -DUSING_FRONTEND -DUSING_FFMPEG_THREADS -DUSING_ALSA -DUSING_OSS -DUSING_V4L2 -DUSING_IPTV -DUSING_HDHOMERUN -DUSING_CETON -DUSING_IVTV -DUSING_HDPVR -DUSING_DVB -DUSING_BACKEND -DMTV_API -DQT_SQL_LIB -DQT_XML_LIB -DQT_OPENGL_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -DQT_SHARED -I/usr/share/qt4/mkspecs/linux-g++ -I. -I/usr/include/qt4/QtCore -I/usr/include/qt4/QtNetwork -I/usr/include/qt4/QtGui -I/usr/include/qt4/QtOpenGL -I/usr/include/qt4/QtXml -I/usr/include/qt4/QtSql -I/usr/include/qt4 -I/usr -I/usr/include/libxml2 -I../../external/qjson/include -I../../external/zeromq/include -I../../external/nzmqt/include/nzmqt -I.. -I../.. -I../../external/FFmpeg -I. -I../libmyth -I../libmyth/audio -I../libmythbase -I../libmythdvdnav -Impeg -Ichannelscan -Ivisualisations -Irecorders -Irecorders/dvbdev -Irecorders/rtp -Irecorders/vbitext -Irecorders/HLS -I../libmythlivemedia/BasicUsageEnvironment/include -I../libmythlivemedia/BasicUsageEnvironment -I../libmythlivemedia/groupsock/include -I../libmythlivemedia/groupsock -I../libmythlivemedia/liveMedia/include -I../libmythlivemedia/liveMedia -I../libmythlivemedia/UsageEnvironment/include -I../libmythlivemedia/UsageEnvironment -I../libmythbase -I../libmythui -I../libmythupnp -I../libmythservicecontracts -I/usr/include -I../libmythdvdnav -I../../external/libmythbluray -I../../external/libhdhomerun -I/usr/X11R6/include -I. -o avformatdecoder.o avformatdecoder.cpp
In file included from avformatdecoder.cpp:60:0:
vaapicontext.h:12:23: fatal error: va/va_glx.h: No such file or directory
 #include "va/va_glx.h"
                       ^
compilation terminated.
Makefile:6713: recipe for target 'avformatdecoder.o' failed
make[2]: *** [avformatdecoder.o] Error 1
make[2]: Leaving directory '/var/tmp/portage/media-tv/mythtv-0.27_p20140321/work/mythtv-0.27/mythtv/libs/libmythtv'
Makefile:309: recipe for target 'sub-libmythtv-make_default' failed
make[1]: *** [sub-libmythtv-make_default] Error 2
make[1]: Leaving directory '/var/tmp/portage/media-tv/mythtv-0.27_p20140321/work/mythtv-0.27/mythtv/libs'
Makefile:67: recipe for target 'libs' failed
make: *** [libs] Error 2
 * ERROR: media-tv/mythtv-0.27_p20140321::gentoo failed (compile phase):
 *   emake failed
Any other suggestions for getting vaapi support under MythTV re-enabled? Thanks
Top
danomac
l33t
l33t
User avatar
Posts: 881
Joined: Sat Nov 06, 2004 6:30 am
Location: Vancouver, BC

  • Quote

Post by danomac » Sun Jan 03, 2016 2:45 am

Add 'dummy' to your VIDEO_CARDS in make.conf, e.g.:

Code: Select all

VIDEO_CARDS="nvidia dummy"
(My video card is a nvidia.)

After that:

Code: Select all

$ emerge -uDN world
...and wait.

It seems va_glx.h is not installed when the 'dummy' video card is not set. Not sure if that's intended behaviour but it fixed it for me.
Top
jamtat
Apprentice
Apprentice
Posts: 162
Joined: Sat Aug 09, 2003 3:33 pm

  • Quote

Post by jamtat » Fri Jan 08, 2016 7:53 pm

Thanks for following up on this, danomac. But I have to report that your solution did not work for me. I added "dummy" to the relevant entry in make.conf. Then I removed -vaapi from /etc/portage/package.use/mythtv and tried to recompile mythtv. The build errored out in the same fashion as it had previously and that I posted about in my Tue Apr 07, 2015 11:49 am post. Recall, incidentally, that I am using the no-multilib profile.

I tried to confirm that mythtv would still compile as it had been previously, removing the dummy entry from make.conf and re-adding -vaapi in the relevant spot. But compilation is now failing on a different error. I'm still trying to diagnose this new issue and may post about it in a separate thread.
Top
danomac
l33t
l33t
User avatar
Posts: 881
Joined: Sat Nov 06, 2004 6:30 am
Location: Vancouver, BC

  • Quote

Post by danomac » Fri Jan 08, 2016 7:57 pm

Ahh, OK. I am on a multilib profile and had that exact same error. I probably found this thread while searching for a solution. Eventually I figured it out and was able to solve it like I'd posted.

What I mention still is true, before adding 'dummy' to VIDEO_CARDS I had no 'va_glx.h' installed on my system at all. I do have the vaapi USE-flag globally set as I do want the hw acceleration. I wonder if I should report a bug?

Edit: Did you emerge world? One of the VAAPI packages needs to be rebuilt before installing mythtv. I think it was x11-libx/libva...

Edit2: I just checked and I see that I had to emerge libva with abi_x86_32. Which really doesn't help in your situation.
Top
jamtat
Apprentice
Apprentice
Posts: 162
Joined: Sat Aug 09, 2003 3:33 pm

  • Quote

Post by jamtat » Fri Jan 08, 2016 8:19 pm

I ran emerge --update --newuse --deep --with-bdeps=y @world. Since I've been at this while simultaneously attending to a few other things I was not absolutely certain I'd done things in the right order. I decided it couldn't really hurt to run that command again, so I once again ran it and, sure enough, libva-1.3.1 did wind up rebuilding. So I might as well have another shot at recompiling mythtv. I'll post results after this additional test.
Top
danomac
l33t
l33t
User avatar
Posts: 881
Joined: Sat Nov 06, 2004 6:30 am
Location: Vancouver, BC

  • Quote

Post by danomac » Fri Jan 08, 2016 8:53 pm

After libva rebuilds itself with the 'dummy' video card, see if /usr/include/x86_64-pc-linux-gnu/va/va_glx.h exists. If it does, then try compiling mythtv. Or just search /usr for va_glx.h to make sure it's there somewhere.
Top
jamtat
Apprentice
Apprentice
Posts: 162
Joined: Sat Aug 09, 2003 3:33 pm

  • Quote

Post by jamtat » Fri Jan 08, 2016 11:26 pm

Still fails, but now with a different error. I do not find any va_glx.h on this system (using either locate or find / -name). Here's the tail end of output on failure:

Code: Select all

decoderbase.cpp:274:64: warning: narrowing conversion of ‘it.QMap<Key, T>::const_iterator::key<long unsigned int, long unsigned int>()’ from ‘const long unsigned int’ to ‘long long int’ inside { } is ill-formed in C++11 [-Wnarrowing]
         PosMapEntry e = {it.key(), it.key() * keyframedist, *it};
                                                                ^
decoderbase.cpp:274:45: warning: narrowing conversion of ‘(((long unsigned int)it.QMap<Key, T>::const_iterator::key<long unsigned int, long unsigned int>()) * ((long unsigned int)((DecoderBase*)this)->DecoderBase::keyframedist))’ from ‘long unsigned int’ to ‘long long int’ inside { } is ill-formed in C++11 [-Wnarrowing]
         PosMapEntry e = {it.key(), it.key() * keyframedist, *it};
                                             ^
decoderbase.cpp:274:64: warning: narrowing conversion of ‘it.QMap<Key, T>::const_iterator::operator*<long unsigned int, long unsigned int>()’ from ‘const long unsigned int’ to ‘long long int’ inside { } is ill-formed in C++11 [-Wnarrowing]
         PosMapEntry e = {it.key(), it.key() * keyframedist, *it};
                                                                ^
make[2]: Leaving directory '/var/tmp/portage/media-tv/mythtv-0.27_p20140321/work/mythtv-0.27/mythtv/libs/libmythtv'
Makefile:309: recipe for target 'sub-libmythtv-make_default' failed
make[1]: *** [sub-libmythtv-make_default] Error 2
make[1]: Leaving directory '/var/tmp/portage/media-tv/mythtv-0.27_p20140321/work/mythtv-0.27/mythtv/libs'
Makefile:67: recipe for target 'libs' failed
make: *** [libs] Error 2
 * ERROR: media-tv/mythtv-0.27_p20140321::gentoo failed (compile phase):
 *   emake failed
Quite strange.
Top
danomac
l33t
l33t
User avatar
Posts: 881
Joined: Sat Nov 06, 2004 6:30 am
Location: Vancouver, BC

  • Quote

Post by danomac » Fri Jan 08, 2016 11:29 pm

I don't see any errors just warnings. The error must be further up in the log.
Top
jamtat
Apprentice
Apprentice
Posts: 162
Joined: Sat Aug 09, 2003 3:33 pm

  • Quote

Post by jamtat » Sat Jan 09, 2016 12:07 am

I should've cat'd the log and examined/posted more of the end. Turns out it's probably the same failure on not finding va_glx.h:

Code: Select all

In file included from avformatdecoder.cpp:60:0:
vaapicontext.h:12:23: fatal error: va/va_glx.h: No such file or directory
 #include "va/va_glx.h"
                       ^
compilation terminated.
Top
Tony0945
Watchman
Watchman
Posts: 5127
Joined: Tue Jul 25, 2006 12:19 am
Location: Illinois, USA

  • Quote

Post by Tony0945 » Sat Jan 09, 2016 2:26 am

I have MythTV up and running on one of my boxes. There is no va_glx.h I am running the desktop profile, which is a multilib profile. My video cards are
VIDEO_CARDS="nouveau fbdev v4l vesa modesetting"

If someone has MythTV and a va_glx.h, would they please post the output of "equery b va_glx.h" so we know what package it belongs to, then we can analyze better than taking random shots in the dark.

My use flags:

Code: Select all

biostar ~ # emerge -pv mythtv
 * Last emerge --sync was 32d 21h 8m 6s ago.

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

Calculating dependencies... done!
[ebuild   R   ~] media-tv/mythtv-0.27.5_p20151025:0/0.27.5_p20151025::gentoo  USE="alsa dvb dvd hls python theora vorbis wrapper xml xvid (-altivec) -autostart -avahi -bluray -cec -crystalhd -debug -egl -fftw -ieee1394 -jack -lcd -libass -lirc -perl -pulseaudio -vaapi -vdpau -xmltv" INPUT_DEVICES="-joystick" PYTHON_TARGETS="python2_7" 0 KiB

Total: 1 package (1 reinstall), Size of downloads: 0 KiB
biostar ~ #

Top
jamtat
Apprentice
Apprentice
Posts: 162
Joined: Sat Aug 09, 2003 3:33 pm

  • Quote

Post by jamtat » Sat Jan 09, 2016 4:14 am

Tony0945 wrote:If someone has MythTV and a va_glx.h, would they please post the output of "equery b va_glx.h" so we know what package it belongs to, then we can analyze better than taking random shots in the dark.
Excellent suggestion. I second the motion.
Top
danomac
l33t
l33t
User avatar
Posts: 881
Joined: Sat Nov 06, 2004 6:30 am
Location: Vancouver, BC

  • Quote

Post by danomac » Sat Jan 09, 2016 6:46 am

Tony0945 wrote:I have MythTV up and running on one of my boxes. There is no va_glx.h I am running the desktop profile, which is a multilib profile.
You aren't building with USE-flag +vaapi so you wouldn't see the issue.
jamtat wrote:
Tony0945 wrote:If someone has MythTV and a va_glx.h, would they please post the output of "equery b va_glx.h" so we know what package it belongs to, then we can analyze better than taking random shots in the dark.
Excellent suggestion. I second the motion.
I wasn't near my htpc before, but here it is now:

Code: Select all

# find /usr -iname va_glx.h
/usr/include/va/va_glx.h
/usr/include/x86_64-pc-linux-gnu/va/va_glx.h
/usr/include/i686-pc-linux-gnu/va/va_glx.h

# equery belongs /usr/include/va/va_glx.h
 * Searching for /usr/include/va/va_glx.h ... 
x11-libs/libva-1.3.1 (/usr/include/va/va_glx.h)
# emerge -pv libva mythtv

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

Calculating dependencies... done!
[ebuild   R    ] x11-libs/libva-1.3.1::gentoo  USE="X drm opengl -egl -vdpau -wayland" ABI_X86="32 (64) (-x32)" VIDEO_CARDS="dummy nvidia -fglrx -intel" 0 KiB
[ebuild   R   ~] media-tv/mythtv-0.27.5_p20151025:0/0.27.5_p20151025::gentoo  USE="alsa autostart dvd hls ieee1394 lcd libass lirc perl python theora vaapi vdpau vorbis wrapper xml xvid (-altivec) -avahi -bluray -cec -crystalhd -debug -dvb -egl -fftw -jack -pulseaudio -xmltv" INPUT_DEVICES="-joystick" PYTHON_TARGETS="python2_7" 0 KiB

Total: 2 packages (2 reinstalls), Size of downloads: 0 KiB
Edit: I went to file a bug but one existed already and they found the same solution.

FYI, I have multiple mythtv frontends and the only one I ran into this issue was with the frontend that uses the binary nvidia drivers. The other 3 frontends I have use Intel graphics and didn't have this issue at all. Odd, no?
Top
jamtat
Apprentice
Apprentice
Posts: 162
Joined: Sat Aug 09, 2003 3:33 pm

  • Quote

Post by jamtat » Sat Jan 09, 2016 6:22 pm

find /usr -iname va_glx.h returns no results on this (no-multilib) system. emerge -pv libva mythtv returns results very similar to yours, danomac:

Code: Select all

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

Calculating dependencies... done!
[ebuild   R    ] x11-libs/libva-1.3.1::gentoo  USE="X drm -egl -opengl -vdpau -wayland" VIDEO_CARDS="dummy intel -fglrx -nvidia" 0 KiB
[ebuild   R    ] media-tv/mythtv-0.27_p20140321::gentoo  USE="alsa dvb hls perl python theora vaapi* vorbis xml xvid (-altivec) -autostart -bluray -cec -crystalhd -debug -dvd -egl -fftw -ieee1394 -jack -lcd -libass -lirc -pulseaudio -raop -vdpau -xmltv" INPUT_DEVICES="-joystick" 0 KiB
I guess I made a mistake in using the no-multilib profile. It seems to get little attention--probably because so few are using it. So bugs aren't being idientified and attended to. At least that's my decidedly-inexpert conclusion at this point.
Top
danomac
l33t
l33t
User avatar
Posts: 881
Joined: Sat Nov 06, 2004 6:30 am
Location: Vancouver, BC

  • Quote

Post by danomac » Sat Jan 09, 2016 6:47 pm

Before giving up try building libva with opengl support. Glx is an opengl backend and I would speculate it is needed. You will probably want to set that flag globally and rebuild all affected packages before trying to recompile mythtv.
Top
jamtat
Apprentice
Apprentice
Posts: 162
Joined: Sat Aug 09, 2003 3:33 pm

  • Quote

Post by jamtat » Sun Jan 10, 2016 3:11 pm

Your last suggestion looks like it might actually resolve this issue, danomac. I set the opengl flag globally and ran emerge --update --newuse --deep --with-bdeps=y @world. After libva-1.3.1 had finished re-compiling, running find /usr -iname va_glx.h gave me encouraging results:

Code: Select all

/usr/include/x86_64-pc-linux-gnu/va/va_glx.h
/usr/include/va/va_glx.h
ffmpeg, mythtv, and a couple of other programs are currently re-compiling. Fingers crossed . . . I'll post final results later.

LATER EDIT: mythtv still fails to compile but a cursory review has not so far revealed the failure point. I'll have to get back to this later when I have more time to conduct analysis, so look for a subsequent post with further details.
Last edited by jamtat on Sun Jan 10, 2016 5:42 pm, edited 3 times in total.
Top
danomac
l33t
l33t
User avatar
Posts: 881
Joined: Sat Nov 06, 2004 6:30 am
Location: Vancouver, BC

  • Quote

Post by danomac » Sun Jan 10, 2016 4:56 pm

That's great news. It sounds like everything will build fine now.

If it does wind up working a bug should be filed for mythtv - media-tv/mythtv +vaapi requires x11-libs/libva +opengl.
Top
jamtat
Apprentice
Apprentice
Posts: 162
Joined: Sat Aug 09, 2003 3:33 pm

  • Quote

Post by jamtat » Mon Jan 11, 2016 12:54 am

Analyzing this failure is proving to be a bit over my head. The only thing I could think of that might be revealing was to grep the build log for the word "failed." So, here's the output from that (from cat build.log | grep -B 2 -A 2 failed, to be precise) in case it might be revealing:

Code: Select all

[ -f qjson/include/QJson ] && \
  (cd qjson/include ; rm -f QJson ; ln -s -f ../src QJson)
Makefile:46: recipe for target 'qjson-all' failed
make[1]: [qjson-all] Error 1 (ignored)
make -C qjson all
--
/var/tmp/portage/media-tv/mythtv-0.27_p20140321/work/mythtv-0.27/mythtv/programs/mythavtest/../../libs/libmythtv/videooutbase.h:203: undefined reference to `VideoBuffers::DoneDisplayingFrame(VideoFrame_*)'
collect2: error: ld returned 1 exit status
Makefile:109: recipe for target 'mythavtest' failed
make[2]: *** [mythavtest] Error 1
make[2]: Leaving directory '/var/tmp/portage/media-tv/mythtv-0.27_p20140321/work/mythtv-0.27/mythtv/programs/mythavtest'
Makefile:58: recipe for target 'sub-mythavtest-make_default' failed
make[1]: *** [sub-mythavtest-make_default] Error 2
make[1]: *** Waiting for unfinished jobs....
--
make[2]: Leaving directory '/var/tmp/portage/media-tv/mythtv-0.27_p20140321/work/mythtv-0.27/mythtv/programs/mythfrontend'
make[1]: Leaving directory '/var/tmp/portage/media-tv/mythtv-0.27_p20140321/work/mythtv-0.27/mythtv/programs'
Makefile:67: recipe for target 'programs' failed
make: *** [programs] Error 2
 * ERROR: media-tv/mythtv-0.27_p20140321::gentoo failed (compile phase):
 *   emake failed
 * 
 * If you need support, post the output of `emerge --info '=media-tv/mythtv-0.27_p20140321::gentoo'`,
I've put the full build log at http://chopapp.com/#16hyidom . Further input will be appreciated.
Top
Tony0945
Watchman
Watchman
Posts: 5127
Joined: Tue Jul 25, 2006 12:19 am
Location: Illinois, USA

  • Quote

Post by Tony0945 » Mon Jan 11, 2016 1:11 am

Post the results of "emerge -pev mythtv|grep ebuild | grep N" Be sure to include the p for pretend. On my server it wanted to build 436 packages, six of which were new. Look for [ebuild N ] for a new package. I'm not entirely sure how to read the output. I think R is for a straight rebuild and r is for a rebuild with different flags but I'm not sure. You could also run "revdep-rebuild" to rebuild libraries as needed because it looks like myth can't find a label in a library. Supposedly, revdep-rebuild isn't required anymore, but it seems to have helped me in the past. it can't hurt.
Top
Post Reply

56 posts
  • 1
  • 2
  • 3
  • Next

Return to “Multimedia”

Jump to
  • Assistance
  • ↳   News & Announcements
  • ↳   Frequently Asked Questions
  • ↳   Installing Gentoo
  • ↳   Multimedia
  • ↳   Desktop Environments
  • ↳   Networking & Security
  • ↳   Kernel & Hardware
  • ↳   Portage & Programming
  • ↳   Gamers & Players
  • ↳   Other Things Gentoo
  • ↳   Unsupported Software
  • Discussion & Documentation
  • ↳   Documentation, Tips & Tricks
  • ↳   Gentoo Chat
  • ↳   Gentoo Forums Feedback
  • ↳   Duplicate Threads
  • International Gentoo Users
  • ↳   中文 (Chinese)
  • ↳   Dutch
  • ↳   Finnish
  • ↳   French
  • ↳   Deutsches Forum (German)
  • ↳   Diskussionsforum
  • ↳   Deutsche Dokumentation
  • ↳   Greek
  • ↳   Forum italiano (Italian)
  • ↳   Forum di discussione italiano
  • ↳   Risorse italiane (documentazione e tools)
  • ↳   Polskie forum (Polish)
  • ↳   Instalacja i sprzęt
  • ↳   Polish OTW
  • ↳   Portuguese
  • ↳   Documentação, Ferramentas e Dicas
  • ↳   Russian
  • ↳   Scandinavian
  • ↳   Spanish
  • ↳   Other Languages
  • Architectures & Platforms
  • ↳   Gentoo on ARM
  • ↳   Gentoo on PPC
  • ↳   Gentoo on Sparc
  • ↳   Gentoo on Alternative Architectures
  • ↳   Gentoo on AMD64
  • ↳   Gentoo for Mac OS X (Portage for Mac OS X)
  • Board index
  • All times are UTC
  • Delete cookies

© 2001–2026 Gentoo Foundation, Inc.

Powered by phpBB® Forum Software © phpBB Limited

Privacy Policy

 

 

magic