Compiling Errors
Added by David G almost 5 years ago
Problem - I need the latest version of TVHeadEnd (with Persistent Authentication) that allows for transcoding stream profiles, which seems to be missing from current builds in the repo (I want to use with TVH_EPG and Chromecast).
I understand I need to;
git clone https://github.com/tvheadend/tvheadend.git ~/build/tvheadend/master cd ~/build/tvheadend/master AUTOBUILD_CONFIGURE_EXTRA=--enable-libffmpeg_static\ --enable-trace\ --enable-debug ./Autobuild.sh
However, this produces the errors below, which seems to be around "ffmpeg"?;
_make[4]: *** [all] Error 2 make[4]: Leaving directory '/home/pi/build/tvheadend/master/build.linux/ffmpeg/x265_2.9/build/linux' Makefile.ffmpeg:276: recipe for target '/home/pi/build/tvheadend/master/build.linux/ffmpeg/x265_2.9/.tvh_build' failed make[3]: *** [/home/pi/build/tvheadend/master/build.linux/ffmpeg/x265_2.9/.tvh_build] Error 2 make[3]: Leaving directory '/home/pi/build/tvheadend/master' Makefile:852: recipe for target '/home/pi/build/tvheadend/master/build.linux/ffmpeg/build/ffmpeg/lib/libavcodec.a' failed make[2]: *** [/home/pi/build/tvheadend/master/build.linux/ffmpeg/build/ffmpeg/lib/libavcodec.a] Error 2 make[2]: Leaving directory '/home/pi/build/tvheadend/master' debian/rules:15: recipe for target 'override_dh_auto_build' failed make[1]: *** [override_dh_auto_build] Error 2 make[1]: Leaving directory '/home/pi/build/tvheadend/master' debian/rules:6: recipe for target 'build' failed make: *** [build] Error 2 dpkg-buildpackage: error: debian/rules build gave error exit status 2_
Any suggestions on how to fix this compile error please? (Same on both Buster and Stretch systems)
Replies (17)
RE: Compiling Errors - Added by saen acro almost 5 years ago
RE: Compiling Errors - Added by David G almost 5 years ago
Thanks for the link to the manual. I am very new to all this so apologies if I'm missing basic knowledge!
I have been through the manual and installed/checked everything I can see. This is my list of Fails and Nos; Do I need to fix any of these and if so how? (Buster on PI4).
I was also lost on this one, ARM OpenMax support "apt install libomxil-bellagio-dev", how do I add option --enable-omx ?
Thanks in advance :-)
Checking support/features checking for cc -mmmx ... fail checking for cc -msse2 ... fail checking for cc strlcat ... fail checking for cc strlcpy ... fail checking for cc libiconv ... fail ^ using build-in glibc iconv routines checking for cc cclang_threadsan ... fail ccdebug no libfdkaac no libfdkaac_static no nvenc no mmal no omx no pcre no ccache no bundle no pngquant no kqueue no android no gtimer_check no slow_memoryinfo no libsystemd_daemon no cclang_threadsan no gperftools no
RE: Compiling Errors - Added by saen acro almost 5 years ago
Use script in manual, and add there
--enable-omx
Some features in not accesable in non X86 devboard/embedded devices.
RE: Compiling Errors - Added by David G almost 5 years ago
I have re-read, installed/checked everything in the manual and all seems to look good.
I used the script in the manual, as is, but added --enable-omx as below;
time AUTOBUILD_CONFIGURE_EXTRA="–-disable-bintray_cache --disable-vaapi --disable-hdhomerun_client --disable-hdhomerun_static --enable-omx " ./Autobuild.sh -j$(nproc) # edit only betwin "quotation marks"
Unfortunately, it still fails at the FFmpeg lines. Build log errors below, any suggestions on what I need to do next please?;
Makefile:197: recipe for target 'vpx_dsp/arm/intrapred_neon_asm.asm.S.o' failed Makefile:197: recipe for target 'vpx_dsp/arm/vpx_convolve_copy_neon_asm.asm.S.o' failed Makefile:17: recipe for target '.DEFAULT' failed make[4]: Leaving directory '/home/pi/tvheadend/build.linux/ffmpeg/libvpx-1.7.0' Makefile.ffmpeg:327: recipe for target '/home/pi/tvheadend/build.linux/ffmpeg/libvpx-1.7.0/.tvh_build' failed make[3]: Leaving directory '/home/pi/tvheadend' Makefile:852: recipe for target '/home/pi/tvheadend/build.linux/ffmpeg/build/ffmpeg/lib/libavcodec.a' failed make[2]: Leaving directory '/home/pi/tvheadend' debian/rules:15: recipe for target 'override_dh_auto_build' failed make[1]: Leaving directory '/home/pi/tvheadend' debian/rules:6: recipe for target 'build' failed
Edit;
Just ran again as root, and this gives perhaps more clues (No such files)?;
src/transcoding/codec/codecs/libs/libx26x.c:116:10: fatal error: x264.h: No such file or directory #include <x264.h> ^~~~~~~~ compilation terminated. src/transcoding/codec/codecs/libs/libvpx.c:23:10: fatal error: vpx/vp8cx.h: No such file or directory #include <vpx/vp8cx.h> ^~~~~~~~~~~~~ compilation terminated. CC src/transcoding/codec/codecs/libs/libtheora.o CC src/transcoding/codec/codecs/libs/libvorbis.o make[2]: *** [Makefile:717: /home/pi/tvheadend/build.linux/src/transcoding/codec/codecs/libs/libx26x.o] Error 1 make[2]: *** Waiting for unfinished jobs.... make[2]: *** [Makefile:717: /home/pi/tvheadend/build.linux/src/transcoding/codec/codecs/libs/libvpx.o] Error 1 make[2]: Leaving directory '/home/pi/tvheadend' make[1]: *** [debian/rules:15: override_dh_auto_build] Error 2 make[1]: Leaving directory '/home/pi/tvheadend' make: *** [debian/rules:6: build] Error 2 dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2
RE: Compiling Errors - Added by saen acro almost 5 years ago
remove software transcoding
Ogg vorbis teora etc.
Script make new clean build folder so use this option by remove old one.
RE: Compiling Errors - Added by Hiro Protagonist almost 5 years ago
David G wrote:
Unfortunately, it still fails at the FFmpeg lines. Build log errors below, any suggestions on what I need to do next please?;
Are you sure you need to build ffmpeg? Normally you'd only need to do this if your system doesn't have it already.
RE: Compiling Errors - Added by David G almost 5 years ago
I'm now making progress and can select the enable/disable options to create a working .deb file, thanks for all the help so far :-)
I am now back to my original issue of trying to get transcoding working as it did in previous releases, ie, they had a video codec named "webtv-h264 (WEBTV codec H264)". What do I need to "--enable" to bring this codec back again please?
RE: Compiling Errors - Added by saen acro almost 5 years ago
What os is used on this dev board?
Attach full build log with script make.
RE: Compiling Errors - Added by David G almost 5 years ago
I have attached a build log and I'm using a Raspberry PI4 running Buster OS (or I could build with a PI3 running Stretch OS is that is preferred).
Thank you.
build.log (124 KB) build.log | |||
Build TVH.sh (609 Bytes) Build TVH.sh |
RE: Compiling Errors - Added by saen acro almost 5 years ago
This log not include ffmpeg modules making process.
Why you disable vaapi?
/boot/config.txt #-------GPU memory splits------- gpu_mem_256=16 gpu_mem_512=16 gpu_mem_1024=16
switch this values from 16 to 256 if they are not.
RE: Compiling Errors - Added by David G almost 5 years ago
I have now set the GPU memory setting to 256, thanks.
As for "disable vaapi", I just copied over the options from the script in the manual.
I have attached a build.log with just --enable-libffmpeg_static but this fails to build.
To be honest, this is where I'm lost now, I don't know what options to use to build to enable webtv-h264 (WEBTV codec H264).
build.log (140 KB) build.log | |||
Build TVH.sh (528 Bytes) Build TVH.sh |
RE: Compiling Errors - Added by Dave H almost 5 years ago
David G wrote:
Edit;
Just ran again as root, and this gives perhaps more clues (No such files)?;
[...]
Sorry I haven't read the rest in any detail, but you shouldn't need to run a build as root.
You might well need root permissions to install the software after you've successfully built it, but not for the actual build itself.
$ ./configure
$ make
$ sudo make install
is a typical pattern. The idea is that you can build and install the software privately without root permission, and thus without having to trust the author of the software with root permission on your machine. Only if you want to install it so all users can access it do you need to give it root permission.
RE: Compiling Errors - Added by David G almost 5 years ago
I have made "some" progress.
I tried building using "git release/4.2" to see how to get the codec's to work with the stable version, as I knew packages were in circulation which worked. I found that to get this version to compile, the only option I needed was "--disable-ffmpeg_static". The codecs then all seemed to work :-)
So I returned to the unstable 4.3 git and starting from just --disable-ffmpeg_static , I ended up needing these options in order for it to build;
--enable-omx --disable-ffmpeg_static --disable-libvpx --disable-libvpx_static --disable-libopus --disable-libopus_static --disable-libx264 --disable-libx264_static --disable-libx265 --disable-libx265_static
Build logs attached for reference.
The problem I have remaining is that with the 4.3 unstable builds, the codecs do not work for me, at best I get sound but no picture and I've tried every combination of settings in the user interface.
Any suggestions please?
Build TVH.sh (710 Bytes) Build TVH.sh | |||
build.log (143 KB) build.log |
RE: Compiling Errors - Added by saen acro almost 5 years ago
Delete tvheadend folder next to script because you not build 4.2 version it's 4.3
If someone can help to update script to add some more GCLI options will update manual
RE: Compiling Errors - Added by David G almost 5 years ago
saen acro wrote:
Delete tvheadend folder next to script because you not build 4.2 version it's 4.3
Not sure I fully understand?
I did delete the tvheadend folder itself when I tried going back to 4.2 and then again when returning to 4.3 , (including make clean / make distclean.
The files above are from when I built the 4.3 version that does not have the working codecs.
RE: Compiling Errors - Added by Adrian A about 3 years ago
With RPi 4 and Bullseye I get this compiling error:
ERROR: OpenMAX IL headers from raspberrypi/firmware not found If you think configure made a mistake, make sure you are using the latest version from Git. If the latest version fails, report the problem to the [email protected] mailing list or IRC #ffmpeg on irc.freenode.net. Include the log file "ffbuild/config.log" produced by configure as this will help solve the problem. make[3]: *** [Makefile.ffmpeg:689: /home/pi/tvheadend/build.linux/ffmpeg/ffmpeg-4.4/.tvh_build] Error 1 make[3]: Leaving directory '/home/pi/tvheadend' make[2]: *** [Makefile:853: /home/pi/tvheadend/build.linux/ffmpeg/build/ffmpeg/lib/libavcodec.a] Error 2 make[2]: Leaving directory '/home/pi/tvheadend' make[1]: *** [debian/rules:15: override_dh_auto_build] Error 2 make[1]: Leaving directory '/home/pi/tvheadend' make: *** [debian/rules:6: build] Error 2 dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 real 0m42.711s user 0m28.246s sys 0m15.676s
Is there any idea to enable openmax?
RE: Compiling Errors - Added by Adrian A about 3 years ago
Update: omx does not seem to be supported in Bullseye anymore. It is recommended to use v4l2 instead.
Is there a possibility to compile a v4l2 version instead?