Project

General

Profile

Compiling Errors

Added by David G over 2 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 David G over 2 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 over 2 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 over 2 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 over 2 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 over 2 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 over 2 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 over 2 years ago

What os is used on this dev board?

Attach full build log with script make.

RE: Compiling Errors - Added by David G over 2 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.

RE: Compiling Errors - Added by saen acro over 2 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 over 2 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).

RE: Compiling Errors - Added by Dave H over 2 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 over 2 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?

RE: Compiling Errors - Added by saen acro over 2 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 over 2 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 9 months 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 9 months 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?

    (1-17/17)