View previous topic :: View next topic |
Author |
Message |
jamtat Apprentice
Joined: 09 Aug 2003 Posts: 162
|
Posted: Sun Apr 05, 2015 9:34 pm Post subject: MythTV won't recompile: how to proceed? |
|
|
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/gentoo-converting-no-multilib-to-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 |
|
Back to top |
|
|
jamtat Apprentice
Joined: 09 Aug 2003 Posts: 162
|
Posted: Mon Apr 06, 2015 6:34 pm Post subject: |
|
|
To add a bit more information, here is the tail end of the most recent compilation failure: Code: | 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: | 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: | [ 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. |
|
Back to top |
|
|
Jaglover Watchman
Joined: 29 May 2005 Posts: 8291 Location: Saint Amant, Acadiana
|
|
Back to top |
|
|
jamtat Apprentice
Joined: 09 Aug 2003 Posts: 162
|
Posted: Mon Apr 06, 2015 9:22 pm Post subject: |
|
|
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: | USE="-vaapi" MAKEOPTS="-j1" emerge mythtv | correct? |
|
Back to top |
|
|
jamtat Apprentice
Joined: 09 Aug 2003 Posts: 162
|
Posted: Tue Apr 07, 2015 3:16 am Post subject: |
|
|
I finally have some good news to report on the compilation front. The command Code: | 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. |
|
Back to top |
|
|
Jaglover Watchman
Joined: 29 May 2005 Posts: 8291 Location: Saint Amant, Acadiana
|
|
Back to top |
|
|
jamtat Apprentice
Joined: 09 Aug 2003 Posts: 162
|
Posted: Tue Apr 07, 2015 12:44 pm Post subject: |
|
|
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: | 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. |
|
Back to top |
|
|
jamtat Apprentice
Joined: 09 Aug 2003 Posts: 162
|
Posted: Tue Apr 07, 2015 4:49 pm Post subject: |
|
|
Like I suspected would happen, I get the same old compilation failure when I run Code: | MAKEOPTS="-j1" emerge mythtv | (without -vaapi).
Here's the the tail end of the error output: Code: | 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 |
|
Back to top |
|
|
danomac l33t
Joined: 06 Nov 2004 Posts: 881 Location: Vancouver, BC
|
Posted: Sun Jan 03, 2016 2:45 am Post subject: |
|
|
Add 'dummy' to your VIDEO_CARDS in make.conf, e.g.:
Code: |
VIDEO_CARDS="nvidia dummy"
|
(My video card is a nvidia.)
After that:
Code: |
$ 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. |
|
Back to top |
|
|
jamtat Apprentice
Joined: 09 Aug 2003 Posts: 162
|
Posted: Fri Jan 08, 2016 7:53 pm Post subject: |
|
|
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. |
|
Back to top |
|
|
danomac l33t
Joined: 06 Nov 2004 Posts: 881 Location: Vancouver, BC
|
Posted: Fri Jan 08, 2016 7:57 pm Post subject: |
|
|
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. |
|
Back to top |
|
|
jamtat Apprentice
Joined: 09 Aug 2003 Posts: 162
|
Posted: Fri Jan 08, 2016 8:19 pm Post subject: |
|
|
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. |
|
Back to top |
|
|
danomac l33t
Joined: 06 Nov 2004 Posts: 881 Location: Vancouver, BC
|
Posted: Fri Jan 08, 2016 8:53 pm Post subject: |
|
|
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. |
|
Back to top |
|
|
jamtat Apprentice
Joined: 09 Aug 2003 Posts: 162
|
Posted: Fri Jan 08, 2016 11:26 pm Post subject: |
|
|
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: | 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. |
|
Back to top |
|
|
danomac l33t
Joined: 06 Nov 2004 Posts: 881 Location: Vancouver, BC
|
Posted: Fri Jan 08, 2016 11:29 pm Post subject: |
|
|
I don't see any errors just warnings. The error must be further up in the log. |
|
Back to top |
|
|
jamtat Apprentice
Joined: 09 Aug 2003 Posts: 162
|
Posted: Sat Jan 09, 2016 12:07 am Post subject: |
|
|
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: | 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. |
|
|
Back to top |
|
|
Tony0945 Watchman
Joined: 25 Jul 2006 Posts: 5127 Location: Illinois, USA
|
Posted: Sat Jan 09, 2016 2:26 am Post subject: |
|
|
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: |
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 ~ #
|
|
|
Back to top |
|
|
jamtat Apprentice
Joined: 09 Aug 2003 Posts: 162
|
Posted: Sat Jan 09, 2016 4:14 am Post subject: |
|
|
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. |
|
Back to top |
|
|
danomac l33t
Joined: 06 Nov 2004 Posts: 881 Location: Vancouver, BC
|
Posted: Sat Jan 09, 2016 6:46 am Post subject: |
|
|
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: |
# 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? |
|
Back to top |
|
|
jamtat Apprentice
Joined: 09 Aug 2003 Posts: 162
|
Posted: Sat Jan 09, 2016 6:22 pm Post subject: |
|
|
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: | 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. |
|
Back to top |
|
|
danomac l33t
Joined: 06 Nov 2004 Posts: 881 Location: Vancouver, BC
|
Posted: Sat Jan 09, 2016 6:47 pm Post subject: |
|
|
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. |
|
Back to top |
|
|
jamtat Apprentice
Joined: 09 Aug 2003 Posts: 162
|
Posted: Sun Jan 10, 2016 3:11 pm Post subject: |
|
|
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: | /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 |
|
Back to top |
|
|
danomac l33t
Joined: 06 Nov 2004 Posts: 881 Location: Vancouver, BC
|
Posted: Sun Jan 10, 2016 4:56 pm Post subject: |
|
|
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. |
|
Back to top |
|
|
jamtat Apprentice
Joined: 09 Aug 2003 Posts: 162
|
Posted: Mon Jan 11, 2016 12:54 am Post subject: |
|
|
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: | [ -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. |
|
Back to top |
|
|
Tony0945 Watchman
Joined: 25 Jul 2006 Posts: 5127 Location: Illinois, USA
|
Posted: Mon Jan 11, 2016 1:11 am Post subject: |
|
|
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. |
|
Back to top |
|
|
|