Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
MythTV won't recompile: how to proceed?
View unanswered posts
View posts from last 24 hours

Goto page 1, 2, 3  Next  
Reply to topic    Gentoo Forums Forum Index Multimedia
View previous topic :: View next topic  
Author Message
jamtat
Apprentice
Apprentice


Joined: 09 Aug 2003
Posts: 162

PostPosted: Sun Apr 05, 2015 9:34 pm    Post subject: MythTV won't recompile: how to proceed? Reply with quote

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
View user's profile Send private message
jamtat
Apprentice
Apprentice


Joined: 09 Aug 2003
Posts: 162

PostPosted: Mon Apr 06, 2015 6:34 pm    Post subject: Reply with quote

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
View user's profile Send private message
Jaglover
Watchman
Watchman


Joined: 29 May 2005
Posts: 8291
Location: Saint Amant, Acadiana

PostPosted: Mon Apr 06, 2015 8:17 pm    Post subject: Reply with quote

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!
Back to top
View user's profile Send private message
jamtat
Apprentice
Apprentice


Joined: 09 Aug 2003
Posts: 162

PostPosted: Mon Apr 06, 2015 9:22 pm    Post subject: Reply with quote

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
View user's profile Send private message
jamtat
Apprentice
Apprentice


Joined: 09 Aug 2003
Posts: 162

PostPosted: Tue Apr 07, 2015 3:16 am    Post subject: Reply with quote

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
View user's profile Send private message
Jaglover
Watchman
Watchman


Joined: 29 May 2005
Posts: 8291
Location: Saint Amant, Acadiana

PostPosted: Tue Apr 07, 2015 9:08 am    Post subject: Reply with quote

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!
Back to top
View user's profile Send private message
jamtat
Apprentice
Apprentice


Joined: 09 Aug 2003
Posts: 162

PostPosted: Tue Apr 07, 2015 12:44 pm    Post subject: Reply with quote

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
View user's profile Send private message
jamtat
Apprentice
Apprentice


Joined: 09 Aug 2003
Posts: 162

PostPosted: Tue Apr 07, 2015 4:49 pm    Post subject: Reply with quote

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
View user's profile Send private message
danomac
l33t
l33t


Joined: 06 Nov 2004
Posts: 881
Location: Vancouver, BC

PostPosted: Sun Jan 03, 2016 2:45 am    Post subject: Reply with quote

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
View user's profile Send private message
jamtat
Apprentice
Apprentice


Joined: 09 Aug 2003
Posts: 162

PostPosted: Fri Jan 08, 2016 7:53 pm    Post subject: Reply with quote

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
View user's profile Send private message
danomac
l33t
l33t


Joined: 06 Nov 2004
Posts: 881
Location: Vancouver, BC

PostPosted: Fri Jan 08, 2016 7:57 pm    Post subject: Reply with quote

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
View user's profile Send private message
jamtat
Apprentice
Apprentice


Joined: 09 Aug 2003
Posts: 162

PostPosted: Fri Jan 08, 2016 8:19 pm    Post subject: Reply with quote

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
View user's profile Send private message
danomac
l33t
l33t


Joined: 06 Nov 2004
Posts: 881
Location: Vancouver, BC

PostPosted: Fri Jan 08, 2016 8:53 pm    Post subject: Reply with quote

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
View user's profile Send private message
jamtat
Apprentice
Apprentice


Joined: 09 Aug 2003
Posts: 162

PostPosted: Fri Jan 08, 2016 11:26 pm    Post subject: Reply with quote

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
View user's profile Send private message
danomac
l33t
l33t


Joined: 06 Nov 2004
Posts: 881
Location: Vancouver, BC

PostPosted: Fri Jan 08, 2016 11:29 pm    Post subject: Reply with quote

I don't see any errors just warnings. The error must be further up in the log.
Back to top
View user's profile Send private message
jamtat
Apprentice
Apprentice


Joined: 09 Aug 2003
Posts: 162

PostPosted: Sat Jan 09, 2016 12:07 am    Post subject: Reply with quote

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
View user's profile Send private message
Tony0945
Watchman
Watchman


Joined: 25 Jul 2006
Posts: 5127
Location: Illinois, USA

PostPosted: Sat Jan 09, 2016 2:26 am    Post subject: Reply with quote

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
View user's profile Send private message
jamtat
Apprentice
Apprentice


Joined: 09 Aug 2003
Posts: 162

PostPosted: Sat Jan 09, 2016 4:14 am    Post subject: Reply with quote

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
View user's profile Send private message
danomac
l33t
l33t


Joined: 06 Nov 2004
Posts: 881
Location: Vancouver, BC

PostPosted: Sat Jan 09, 2016 6:46 am    Post subject: Reply with quote

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
View user's profile Send private message
jamtat
Apprentice
Apprentice


Joined: 09 Aug 2003
Posts: 162

PostPosted: Sat Jan 09, 2016 6:22 pm    Post subject: Reply with quote

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
View user's profile Send private message
danomac
l33t
l33t


Joined: 06 Nov 2004
Posts: 881
Location: Vancouver, BC

PostPosted: Sat Jan 09, 2016 6:47 pm    Post subject: Reply with quote

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
View user's profile Send private message
jamtat
Apprentice
Apprentice


Joined: 09 Aug 2003
Posts: 162

PostPosted: Sun Jan 10, 2016 3:11 pm    Post subject: Reply with quote

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
View user's profile Send private message
danomac
l33t
l33t


Joined: 06 Nov 2004
Posts: 881
Location: Vancouver, BC

PostPosted: Sun Jan 10, 2016 4:56 pm    Post subject: Reply with quote

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
View user's profile Send private message
jamtat
Apprentice
Apprentice


Joined: 09 Aug 2003
Posts: 162

PostPosted: Mon Jan 11, 2016 12:54 am    Post subject: Reply with quote

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
View user's profile Send private message
Tony0945
Watchman
Watchman


Joined: 25 Jul 2006
Posts: 5127
Location: Illinois, USA

PostPosted: Mon Jan 11, 2016 1:11 am    Post subject: Reply with quote

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
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Multimedia All times are GMT
Goto page 1, 2, 3  Next
Page 1 of 3

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum