Cannot build Leia under Debian Stretch
#1
Hi!
I am trying to build Leia under Debian Stretch. VAAPI is shown as disabled, I use VDPAU.
However I get this error:
Code:
Building CXX object build/cores/VideoPlayer/codecs/video/CMakeFiles/dvdvideocodecs.dir/DVDVideoCodecFFmpeg.cpp.o
/usr/local/src/xbmc/xbmc/cores/VideoPlayer/DVDCodecs/Video/DVDVideoCodecFFmpeg.cpp: In member function ‘IHardwareDecoder* CDVDVideoCodecFFmpeg::CreateVideoDecoderHW(AVPixelFormat, CProcessInfo&)’:
/usr/local/src/xbmc/xbmc/cores/VideoPlayer/DVDCodecs/Video/DVDVideoCodecFFmpeg.cpp:1192:16: error: ‘VAAPI’ does not name a type
     return new VAAPI::CDecoder(m_processInfo);
                ^
/usr/local/src/xbmc/xbmc/cores/VideoPlayer/DVDCodecs/Video/DVDVideoCodecFFmpeg.cpp:1192:21: error: expected ‘;’ before ‘::’ token
     return new VAAPI::CDecoder(m_processInfo);
                     ^
/usr/local/src/xbmc/xbmc/cores/VideoPlayer/DVDCodecs/Video/DVDVideoCodecFFmpeg.cpp:1192:21: error: ‘::CDecoder’ has not been declared
/usr/local/src/xbmc/xbmc/cores/VideoPlayer/DVDCodecs/Video/DVDVideoCodecFFmpeg.cpp:1192:21: note: suggested alternative:
In file included from /usr/local/src/xbmc/xbmc/cores/VideoPlayer/DVDCodecs/Video/DVDVideoCodecFFmpeg.cpp:1185:0:
/usr/local/src/xbmc/xbmc/cores/VideoPlayer/DVDCodecs/Video/VDPAU.h:546:7: note:   ‘VDPAU::CDecoder’
class CDecoder
       ^
build/cores/VideoPlayer/codecs/video/CMakeFiles/dvdvideocodecs.dir/build.make:86: recipe for target 'build/cores/VideoPlayer/codecs/video/CMakeFiles/dvdvideocodecs.dir/DVDVideoCodecFFmpeg.cpp.o' failed
make[2]: *** [build/cores/VideoPlayer/codecs/video/CMakeFiles/dvdvideocodecs.dir/DVDVideoCodecFFmpeg.cpp.o] Error 1
CMakeFiles/Makefile2:8229: recipe for target 'build/cores/VideoPlayer/codecs/video/CMakeFiles/dvdvideocodecs.dir/all' failed
make[1]: *** [build/cores/VideoPlayer/codecs/video/CMakeFiles/dvdvideocodecs.dir/all] Error 2
Makefile:138: recipe for target 'all' failed
make: *** [all] Error 2
Reply
#2
I forced enabling vaapi support which did it.
Seems like a #define must be added around this 2 lines in DVDVideoCodecFFmpeg.cpp:
Code:
if (pixfmt == AV_PIX_FMT_VAAPI_VLD && CServiceBroker::GetSettings().GetBool(CSettings::SETTING_VIDEOPLAYER_USEVAAPI))
return new VAAPI::CDecoder(m_processInfo);
Reply
#3
this code area is currently being reworked. Until then, simply do _not_ disable vaapi. Just leave both vdpau and vaapi enabled.
Reply
#4
Yes, but even with libva-dev installed, vaapi is not enabled by default.
I have to enable it by the cmake parameter.
Reply
#5
then you are missing something, since both vaapi and vpdau are autodetect. Please provide a build log, including the cmake part.
Also make sure to delete CMakeCache.txt before.
Reply
#6
I cleared my builddir completely, now vaapi is enabled by default.
Reply
#7
(2017-06-22, 22:18)mase76 Wrote: Hi!
I am trying to build Leia under Debian Stretch. VAAPI is shown as disabled, I use VDPAU.
However I get this error:
Code:
Building CXX object build/cores/VideoPlayer/codecs/video/CMakeFiles/dvdvideocodecs.dir/DVDVideoCodecFFmpeg.cpp.o
/usr/local/src/xbmc/xbmc/cores/VideoPlayer/DVDCodecs/Video/DVDVideoCodecFFmpeg.cpp: In member function ‘IHardwareDecoder* CDVDVideoCodecFFmpeg::CreateVideoDecoderHW(AVPixelFormat, CProcessInfo&)’:
/usr/local/src/xbmc/xbmc/cores/VideoPlayer/DVDCodecs/Video/DVDVideoCodecFFmpeg.cpp:1192:16: error: ‘VAAPI’ does not name a type
     return new VAAPI::CDecoder(m_processInfo);
                ^
/usr/local/src/xbmc/xbmc/cores/VideoPlayer/DVDCodecs/Video/DVDVideoCodecFFmpeg.cpp:1192:21: error: expected ‘;’ before ‘::’ token
     return new VAAPI::CDecoder(m_processInfo);
                     ^
/usr/local/src/xbmc/xbmc/cores/VideoPlayer/DVDCodecs/Video/DVDVideoCodecFFmpeg.cpp:1192:21: error: ‘::CDecoder’ has not been declared
/usr/local/src/xbmc/xbmc/cores/VideoPlayer/DVDCodecs/Video/DVDVideoCodecFFmpeg.cpp:1192:21: note: suggested alternative:
In file included from /usr/local/src/xbmc/xbmc/cores/VideoPlayer/DVDCodecs/Video/DVDVideoCodecFFmpeg.cpp:1185:0:
/usr/local/src/xbmc/xbmc/cores/VideoPlayer/DVDCodecs/Video/VDPAU.h:546:7: note:   ‘VDPAU::CDecoder’
class CDecoder
       ^
build/cores/VideoPlayer/codecs/video/CMakeFiles/dvdvideocodecs.dir/build.make:86: recipe for target 'build/cores/VideoPlayer/codecs/video/CMakeFiles/dvdvideocodecs.dir/DVDVideoCodecFFmpeg.cpp.o' failed
make[2]: *** [build/cores/VideoPlayer/codecs/video/CMakeFiles/dvdvideocodecs.dir/DVDVideoCodecFFmpeg.cpp.o] Error 1
CMakeFiles/Makefile2:8229: recipe for target 'build/cores/VideoPlayer/codecs/video/CMakeFiles/dvdvideocodecs.dir/all' failed
make[1]: *** [build/cores/VideoPlayer/codecs/video/CMakeFiles/dvdvideocodecs.dir/all] Error 2
Makefile:138: recipe for target 'all' failed
make: *** [all] Error 2

Can you please provide list of all dependencies for stretch? Seems that libjasper-dev is not anymore in repositories..
Thanks
Reply
#8
apt-get build-dep kodi
First decide what functions / features you expect from a system. Then decide for the hardware. Don't waste your money on crap.
Reply
#9
I have built it without libjasper.
Reply

Logout Mark Read Team Forum Stats Members Help
Cannot build Leia under Debian Stretch0