Forums » Tutorial and setups »
[MANUAL] Building .DEB packages on clean Ubuntu or other Debian distros
Added by saen acro almost 8 years ago
- Table of contents
- Manual debugging step by step
- GPU VA hardware acceleration aka Transcoding
- Short version of all needed packages
- How to clone Github repo to local folder
- ARM OpenMax support
- Python
- Automated build script
Manual debugging step by step¶
There is a manual in WIKI with says there is a some needed packages dependency
https://tvheadend.org/projects/tvheadend/wiki/Building
Following this manual (from wiki) there is no chance to make any package
So here is how to solve this:
(Ubuntu 14.04LTS x86_64 used but possible to be used on newer, even "x86" version)
There is a lot of packages with need to install
First packages from wiki
sudo apt install build-essential git pkg-config libssl-dev bzip2 wget libavahi-client-dev zlib1g-dev libavcodec-dev libavutil-dev libavformat-dev libswscale-dev libavresample-dev
so let see is this correct by running
./configure
and result is
/opt/tvheadend# ./configure Checking support/features checking for cc execinfo.h ... ok checking for cc -mmmx ... ok checking for cc -msse2 ... ok checking for cc -Wunused-result ... ok checking for cc getloadavg ... ok checking for cc atomic64 ... ok checking for cc atomic_time_t ... ok checking for cc bitops64 ... ok checking for cc lockowner ... ok checking for cc qsort_r ... ok checking for cc stime ... ok checking for cc gmtoff ... ok checking for cc recvmmsg ... ok checking for cc sendmmsg ... ok checking for cc libiconv ... fail checking for cc libdvben50221 ... fail checking for cc ifnames ... ok checking for py module gzip ... ok checking for pkg-config ... ok checking for xgettext ... fail ERROR: no gettext binaries found
surprise nothing happens
so we need package gettext
sudo apt install gettext
again configure command
/opt/tvheadend# ./configure Checking support/features checking for cc execinfo.h ... ok checking for cc -mmmx ... ok checking for cc -msse2 ... ok checking for cc -Wunused-result ... ok checking for cc getloadavg ... ok checking for cc atomic64 ... ok checking for cc atomic_time_t ... ok checking for cc bitops64 ... ok checking for cc lockowner ... ok checking for cc qsort_r ... ok checking for cc stime ... ok checking for cc gmtoff ... ok checking for cc recvmmsg ... ok checking for cc sendmmsg ... ok checking for cc libiconv ... fail checking for cc libdvben50221 ... fail checking for cc ifnames ... ok checking for py module gzip ... ok checking for pkg-config ... ok checking for xgettext ... ok checking for msgmerge ... ok checking for gzip ... ok checking for bzip2 ... ok checking for pkg openssl ... ok (detected 1.0.1f) checking for cc linux/dvb/version.h ... ok checking for pkg zlib ... ok (detected 1.2.8) checking for pkg liburiparser ... fail (detected <none>) checking for pkg avahi-client ... ok (detected 0.6.31) checking for cmake ... fail ERROR: cmake not found
Again missing essential part
sudo apt install cmake
Again configure ShowHide
/opt/tvheadend# ./configure Checking support/features checking for cc execinfo.h ... ok checking for cc -mmmx ... ok checking for cc -msse2 ... ok checking for cc -Wunused-result ... ok checking for cc getloadavg ... ok checking for cc atomic64 ... ok checking for cc atomic_time_t ... ok checking for cc bitops64 ... ok checking for cc lockowner ... ok checking for cc qsort_r ... ok checking for cc stime ... ok checking for cc gmtoff ... ok checking for cc recvmmsg ... ok checking for cc sendmmsg ... ok checking for cc libiconv ... fail checking for cc libdvben50221 ... fail checking for cc ifnames ... ok checking for py module gzip ... ok checking for pkg-config ... ok checking for xgettext ... ok checking for msgmerge ... ok checking for gzip ... ok checking for bzip2 ... ok checking for pkg openssl ... ok (detected 1.0.1f) checking for cc linux/dvb/version.h ... ok checking for pkg zlib ... ok (detected 1.2.8) checking for pkg liburiparser ... fail (detected <none>) checking for pkg avahi-client ... ok (detected 0.6.31) checking for cmake ... ok checking for cc -lstdc++ ... ok checking for cc nvEncodeAPI.h ... fail checking for cc sys/inotify.h ... ok fetching dvb-scan files ... ok checking for pkg dbus-1 ... ok (detected 1.6.18) Compiler: Using C compiler: cc Build for arch: x86_64 Binaries: Using PYTHON: python Using GZIP: gzip Using BZIP2: bzip2 Options: pie yes ccdebug no cwc yes capmt yes constcw yes linuxdvb yes satip_server yes satip_client yes hdhomerun_client yes hdhomerun_static yes iptv yes tsfile yes dvbscan yes timeshift yes trace yes imagecache yes avahi yes zlib yes libav yes ffmpeg_static yes libx264 yes libx264_static yes libx265 yes libx265_static yes libvpx yes libvpx_static yes libtheora yes libtheora_static yes libvorbis yes libvorbis_static yes libfdkaac yes libfdkaac_static yes nvenc no qsv no libmfx_static no inotify yes epoll yes uriparser no ccache no tvhcsa yes bundle no dvbcsa no dvben50221 no kqueue no dbus_1 yes android no tsdebug no gtimer_check no slow_memoryinfo no libsystemd_daemon no bintray_cache yes execinfo yes mmx yes sse2 yes W_unused_result yes getloadavg yes atomic64 yes atomic_time_t yes bitops64 yes lockowner yes qsort_r yes stime yes gmtoff yes recvmmsg yes sendmmsg yes ifnames yes py_gzip yes bin_pkg_config yes bin_xgettext yes bin_msgmerge yes bin_gzip yes bin_bzip2 yes ssl yes linuxdvbapi yes upnp yes bin_cmake yes stdcpp yes libogg_static yes inotify_h yes mpegts yes mpegts_dvb yes Packages: openssl 1.0.1f zlib 1.2.8 avahi-client 0.6.31 dbus-1 1.6.18 Installation paths: Prefix: /usr/local Binaries: ${prefix}/bin Libraries: ${prefix}/lib Data files: ${prefix}/share Man pages: ${datadir}/man Final Binary: /opt/tvheadend/build.linux/tvheadend Tvheadend Data Directory: /usr/local/share/tvheadend
And success, there is a chance to build .DEB, but is it so simple are we miss some?
checking for cc libiconv ... fail checking for cc libdvben50221 ... fail checking for pkg liburiparser ... fail (detected <none>)
those maby not 100% needed but lets install it:
libiconv
there is some strange with this library in newer version it is build in in in other library
sudo apt install libiconv-hook-dev
/// this will not solve dependency error message, maby error in configure script
libdvben50221
this is DVB-CI support for hardware CAM module on some devices
solved by instaling dvb-apps
sudo apt install dvb-apps
liburiparser
sudo apt install liburiparser-dev
Let's see with configure ShowHide
/opt/tvheadend# ./configure Checking support/features checking for cc execinfo.h ... ok checking for cc -mmmx ... ok checking for cc -msse2 ... ok checking for cc -Wunused-result ... ok checking for cc getloadavg ... ok checking for cc atomic64 ... ok checking for cc atomic_time_t ... ok checking for cc bitops64 ... ok checking for cc lockowner ... ok checking for cc qsort_r ... ok checking for cc stime ... ok checking for cc gmtoff ... ok checking for cc recvmmsg ... ok checking for cc sendmmsg ... ok checking for cc libiconv ... fail checking for cc libdvben50221 ... ok checking for cc ifnames ... ok checking for py module gzip ... ok checking for pkg-config ... ok checking for xgettext ... ok checking for msgmerge ... ok checking for gzip ... ok checking for bzip2 ... ok checking for pkg openssl ... ok (detected 1.0.1f) checking for cc linux/dvb/version.h ... ok checking for pkg zlib ... ok (detected 1.2.8) checking for pkg liburiparser ... ok (detected 0.7.5) checking for pkg avahi-client ... ok (detected 0.6.31) checking for cmake ... ok checking for cc -lstdc++ ... ok checking for cc nvEncodeAPI.h ... fail checking for cc sys/inotify.h ... ok fetching dvb-scan files ... ok checking for pkg dbus-1 ... ok (detected 1.6.18) Compiler: Using C compiler: cc Using LD flags: -ldvben50221 -ldvbapi -lucsi Build for arch: x86_64 Binaries: Using PYTHON: python Using GZIP: gzip Using BZIP2: bzip2 Options: pie yes ccdebug no cwc yes capmt yes constcw yes linuxdvb yes satip_server yes satip_client yes hdhomerun_client yes hdhomerun_static yes iptv yes tsfile yes dvbscan yes timeshift yes trace yes imagecache yes avahi yes zlib yes libav yes ffmpeg_static yes libx264 yes libx264_static yes libx265 yes libx265_static yes libvpx yes libvpx_static yes libtheora yes libtheora_static yes libvorbis yes libvorbis_static yes libfdkaac yes libfdkaac_static yes nvenc no qsv no libmfx_static no inotify yes epoll yes uriparser yes ccache no tvhcsa yes bundle no dvbcsa no dvben50221 yes kqueue no dbus_1 yes android no tsdebug no gtimer_check no slow_memoryinfo no libsystemd_daemon no bintray_cache yes execinfo yes mmx yes sse2 yes W_unused_result yes getloadavg yes atomic64 yes atomic_time_t yes bitops64 yes lockowner yes qsort_r yes stime yes gmtoff yes recvmmsg yes sendmmsg yes libdvben50221 yes ifnames yes py_gzip yes bin_pkg_config yes bin_xgettext yes bin_msgmerge yes bin_gzip yes bin_bzip2 yes ssl yes linuxdvbapi yes upnp yes bin_cmake yes stdcpp yes libogg_static yes inotify_h yes linuxdvb_ca yes mpegts yes mpegts_dvb yes Packages: openssl 1.0.1f zlib 1.2.8 liburiparser 0.7.5 avahi-client 0.6.31 dbus-1 1.6.18 Installation paths: Prefix: /usr/local Binaries: ${prefix}/bin Libraries: ${prefix}/lib Data files: ${prefix}/share Man pages: ${datadir}/man Final Binary: /opt/tvheadend/build.linux/tvheadend Tvheadend Data Directory: /usr/local/share/tvheadend
Some will ask about
checking for cc nvEncodeAPI.h ... fail
this is NVENC (nVidia hardware accelerator for transcoding)
I don't use nVidia can't help, there is a separate topic
So let's continue with bulding of .DEB packages.
Next step is to use Autobuild.sh, with will make all automatically. or not.
/opt/tvheadend# ./Autobuild.sh dpkg-buildpackage: пакет източник tvheadend dpkg-buildpackage: source version 4.1-2398~gc38af4c dpkg-buildpackage: source distribution unstable dpkg-buildpackage: source changed by Andreas Öman <[email protected]> dpkg-buildpackage: host architecture amd64 dpkg-source --before-build tvheadend dpkg-checkbuilddeps: Unmet build dependencies: debhelper (>= 7.0.50) libcurl4-gnutls-dev dpkg-buildpackage: warning: build dependencies/conflicts unsatisfied; aborting dpkg-buildpackage: warning: (Use -d flag to override.)
Again something missing
sudo apt install debhelper libcurl4-gnutls-dev
Crossing fingers an run again Autobuild.sh
If everything is OK,
compilation of FFMPEG X264/5 OGG AAC and some other codecs will be compiled before TVHeadend and finally .DEB files.
If there is no critical errors at the end there is show something as this
dpkg-buildpackage: binary only upload (no source included) doozer-versioned-artifact:/opt/tvheadend/../tvheadend_4.1-2398~gc38af4c_amd64.deb:deb:application/x-deb:tvheadend_4.1-2398~gc38af4c_amd64.deb doozer-versioned-artifact:/opt/tvheadend/../tvheadend-dbg_4.1-2398~gc38af4c_amd64.deb:deb:application/x-deb:tvheadend-dbg_4.1-2398~gc38af4c_amd64.deb doozer-versioned-artifact:/opt/tvheadend/../tvheadend_4.1-2398~gc38af4c_amd64.changes:changes:text/plain:tvheadend_4.1-2398~gc38af4c_amd64.changes
/opt/tvheadend/../
this mean that I'm using /opt/tvheadend/ (source from git)
and files are generated in ../ (upper level) in this case /opt
installation can be done by command
sudo dpkg -i tvheadend_4.1-2398~gc38af4c_amd64.deb
=====
Edit new dependency libpcre /Perl 5 Compatible Regular Expression Library/
to install it add
Sudo apt instal libpcre2-dev
Warning library is not accessible to all OS versions then use libpcre3-dev
GPU VA hardware acceleration aka Transcoding¶
checking for pkg libva >=0.38.0 ... ok (detected 0.39.0)
checking for pkg libva-x11 >=0.38.0 ... ok (detected 0.39.0)
checking for pkg libva-drm >=0.38.0 ... ok (detected 0.39.0)
libva-dev
libva-drm1 (libva-drm2)
libva-x11-1 (libva-x11-1)
i965-va-driver-shaders (Latest Debian probably Ubuntu 20.04 for Intel GPU)
to work hardware need to support VA-API version minimum 0.39.0
ex.
ShowHide
i5-4440 - HD4600
# vainfo
error: XDG_RUNTIME_DIR not set in the environment.
error: can't connect to X server!
libva info: VA-API version 0.39.0 <<<<<<<<<<<<<<<<<<<<<<<<<<<
libva info: va_getDriverName() returns 0
libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/i965_drv_video.so
libva info: Found init function __vaDriverInit_0_39
libva info: va_openDriver() returns 0
vainfo: VA-API version: 0.39 (libva 1.7.0)
vainfo: Driver version: Intel i965 driver for Intel(R) Haswell Desktop - 1.7.0
vainfo: Supported profile and entrypoints
VAProfileMPEG2Simple : VAEntrypointVLD
VAProfileMPEG2Simple : VAEntrypointEncSlice
VAProfileMPEG2Main : VAEntrypointVLD
VAProfileMPEG2Main : VAEntrypointEncSlice
VAProfileH264ConstrainedBaseline: VAEntrypointVLD
VAProfileH264ConstrainedBaseline: VAEntrypointEncSlice
VAProfileH264Main : VAEntrypointVLD
VAProfileH264Main : VAEntrypointEncSlice
VAProfileH264High : VAEntrypointVLD
VAProfileH264High : VAEntrypointEncSlice
VAProfileH264MultiviewHigh : VAEntrypointVLD
VAProfileH264MultiviewHigh : VAEntrypointEncSlice
VAProfileH264StereoHigh : VAEntrypointVLD
VAProfileH264StereoHigh : VAEntrypointEncSlice
VAProfileVC1Simple : VAEntrypointVLD
VAProfileVC1Main : VAEntrypointVLD
VAProfileVC1Advanced : VAEntrypointVLD
VAProfileNone : VAEntrypointVideoProc
VAProfileJPEGBaseline : VAEntrypointVLD
there is a situation when Intel drivers are very buggy but work also
ex:
ShowHide
Intel Corporation Atom Processor D410 - IGMA3510
#vainfo
error: XDG_RUNTIME_DIR not set in the environment.
error: can't connect to X server!
libva info: VA-API version 0.39.0
libva info: va_getDriverName() returns 0
libva info: Trying to open /usr/lib/i386-linux-gnu/dri/i965_drv_video.so
libva info: Found init function __vaDriverInit_0_39
libva error: /usr/lib/i386-linux-gnu/dri/i965_drv_video.so init failed
libva info: va_openDriver() returns -1
vaInitialize failed with error code -1 (unknown libva error),exit
Short version of all needed packages¶
sudo apt install build-essential git ccache libpcre2-dev pkg-config libssl-dev bzip2 \
wget libavahi-client-dev zlib1g-dev libavcodec-dev libavutil-dev libavformat-dev \
libswscale-dev libavresample-dev gettext cmake libiconv-hook-dev liburiparser-dev \
debhelper libcurl4-gnutls-dev python-minimal libdvbcsa-dev python-requests
If libpcre2-dev not found use libpcre3-dev
Optional packages for optional features
sudo apt install dvb-apps libva-dev libva-drm1 libva-x11-1
If used Ubuntu 18.04+ libva-drm2 libva-x11-2
To enable SYSTEMD service --enable-libsystemd_daemon on Ubuntu 18.04 and upper, install libsystemd-dev
Keep in mind, this will install ~400+Mb packages.
Some packages will install other packages to satisfy its dependencies
How to clone Github repo to local folder¶
Usually regular command to clone repo is
git clone https://github.com/tvheadend/tvheadend.git
This will download latest source code (unstable) ready for compilation
but if need stable or other
use command
git clone -b release/4.2 https://github.com/tvheadend/tvheadend.git
command explained
git clone -b <branch> <remote_repo>
branch list can be seen at https://github.com/tvheadend/tvheadend
ARM OpenMax support¶
Use only on ARM boards
apt install libomxil-bellagio-dev
do not forget to add option
--enable-omx
Python¶
Autobuild script search for python but it was replaced by python3
solution:
--python=/usr/bin/python3
Automated build script¶
Currently just clone only latest repo source code and compile it
#!/bin/bash
BASE=$(dirname "$0")
(
if [ -d "$BASE/tvheadend" ]; then
cd "$BASE/tvheadend"
git pull
else
cd "$BASE"
git clone https://github.com/tvheadend/tvheadend.git tvheadend # --depth=5 (need version tag workaround else 0.0.0 version)
cd "$BASE/tvheadend"
fi
time AUTOBUILD_CONFIGURE_EXTRA="--disable-bintray_cache --enable-vaapi --enable-nvenc --disable-hdhomerun_client --disable-hdhomerun_static " ./Autobuild.sh -j$(nproc) # edit only betwin "quotation marks"
) | tee "$BASE/build.log"
Use command
./configure --help
to see possible options.
Usage: ./configure [options] Miscellaneous --help Print this message Installation Paths --prefix=DIR$ Installation root [/usr/local] --bindir=DIR Install binaries in DIR [${prefix}/bin] --libdir=DIR Install libraries in DIR [${prefix}/lib] --mandir=DIR Install man pages in DIR [${datadir}/man] --datadir=DIR Install data files in DIR [${prefix}/share] Compiler/Arch --cc=CC Build using compiler [cc] --cflags=CFLAGS Build using C flags --ldflags=LDFLAGS Build using LD flags --cpu=CPU Build and optimize for specific CPU --arch=ARCH Build for architecture [x86_64] --platform=PLATFORM Build for platform [linux] --nowerror Build without -Werror CFLAGS --python=PYTHON Use python binary [python] Options --disable-pie Disable pie --enable-ccdebug Enable ccdebug --disable-cardclient Disable cardclient --enable-cardclient Enable cardclient --disable-cwc Disable cwc --disable-cccam Disable cccam --disable-capmt Disable capmt --disable-constcw Disable constcw --disable-linuxdvb Disable linuxdvb --disable-satip_server Disable satip_server --disable-satip_client Disable satip_client --enable-hdhomerun_client Enable hdhomerun_client --disable-hdhomerun_static Disable hdhomerun_static --disable-iptv Disable iptv --disable-tsfile Disable tsfile --disable-dvbscan Disable dvbscan --disable-timeshift Disable timeshift --disable-trace Disable trace --disable-avahi Disable avahi --enable-avahi Enable avahi --disable-zlib Disable zlib --enable-zlib Enable zlib --disable-libav Disable libav --enable-libav Enable libav --disable-ffmpeg_static Disable ffmpeg_static --disable-libx264 Disable libx264 --disable-libx264_static Disable libx264_static --disable-libx265 Disable libx265 --disable-libx265_static Disable libx265_static --disable-libvpx Disable libvpx --disable-libvpx_static Disable libvpx_static --disable-libtheora Disable libtheora --disable-libtheora_static Disable libtheora_static --disable-libvorbis Disable libvorbis --disable-libvorbis_static Disable libvorbis_static --enable-libfdkaac Enable libfdkaac --disable-libfdkaac_static Disable libfdkaac_static --disable-libopus Disable libopus --disable-libopus_static Disable libopus_static --enable-nvenc Enable nvenc --disable-vaapi Disable vaapi --enable-vaapi Enable vaapi --enable-mmal Enable mmal --enable-omx Enable omx --disable-inotify Disable inotify --enable-inotify Enable inotify --disable-epoll Disable epoll --enable-epoll Enable epoll --disable-pcre Disable pcre --enable-pcre Enable pcre --disable-pcre2 Disable pcre2 --enable-pcre2 Enable pcre2 --disable-uriparser Disable uriparser --enable-uriparser Enable uriparser --disable-ccache Disable ccache --enable-ccache Enable ccache --disable-tvhcsa Disable tvhcsa --enable-tvhcsa Enable tvhcsa --enable-bundle Enable bundle --enable-pngquant Enable pngquant --enable-kqueue Enable kqueue --disable-dbus_1 Disable dbus_1 --enable-dbus_1 Enable dbus_1 --enable-android Enable android --enable-gtimer_check Enable gtimer_check --enable-slow_memoryinfo Enable slow_memoryinfo --enable-libsystemd_daemon Enable libsystemd_daemon --disable-pcloud_cache Disable pcloud_cache --disable-ddci Disable ddci --enable-cclang_threadsan Enable cclang_threadsan --enable-gperftools Enable gperftools
Replies (92)
RE: [MANUAL] Building .DEB packages on clean Ubuntu or other Debian distros - Added by Adrian A about 4 years ago
If I want to compile with raspberry pi 4, I do get the errors:
make[6]: Nothing to be done for 'install-exec-am'.
/bin/bash ./mkinstalldirs /home/pi/tvheadend/build.linux/ffmpeg/build/ffmpeg/lib/pkgconfig
/usr/bin/install -c -m 644 theora.pc /home/pi/tvheadend/build.linux/ffmpeg/build/ffmpeg/lib/pkgconfig/theora.pc
/usr/bin/install -c -m 644 theoradec.pc /home/pi/tvheadend/build.linux/ffmpeg/build/ffmpeg/lib/pkgconfig/theoradec.pc
/usr/bin/install -c -m 644 theoraenc.pc /home/pi/tvheadend/build.linux/ffmpeg/build/ffmpeg/lib/pkgconfig/theoraenc.pc
make[6]: Leaving directory '/home/pi/tvheadend/build.linux/ffmpeg/libtheora-1.1.1'
make[5]: Leaving directory '/home/pi/tvheadend/build.linux/ffmpeg/libtheora-1.1.1'
make[4]: Leaving directory '/home/pi/tvheadend/build.linux/ffmpeg/libtheora-1.1.1'
[ 27%] Building CXX object encoder/CMakeFiles/encoder.dir/weightPrediction.cpp.o
make[6]: Leaving directory '/home/pi/tvheadend/build.linux/ffmpeg/x265_3.2/build/linux'
[ 27%] Built target encoder
make[5]: Leaving directory '/home/pi/tvheadend/build.linux/ffmpeg/x265_3.2/build/linux'
make[4]: *** [Makefile:130: all] Error 2
make[4]: Leaving directory '/home/pi/tvheadend/build.linux/ffmpeg/x265_3.2/build/linux'
make[3]: *** [Makefile.ffmpeg:277: /home/pi/tvheadend/build.linux/ffmpeg/x265_3.2/.tvh_build] Error 2
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
Any help is appreciated
RE: [MANUAL] Building .DEB packages on clean Ubuntu or other Debian distros - Added by saen acro about 4 years ago
Adrian A wrote:
If I want to compile with raspberry pi 4, I do get the errors:
make[6]: Nothing to be done for 'install-exec-am'.
/bin/bash ./mkinstalldirs /home/pi/tvheadend/build.linux/ffmpeg/build/ffmpeg/lib/pkgconfig
/usr/bin/install -c -m 644 theora.pc /home/pi/tvheadend/build.linux/ffmpeg/build/ffmpeg/lib/pkgconfig/theora.pc
/usr/bin/install -c -m 644 theoradec.pc /home/pi/tvheadend/build.linux/ffmpeg/build/ffmpeg/lib/pkgconfig/theoradec.pc
/usr/bin/install -c -m 644 theoraenc.pc /home/pi/tvheadend/build.linux/ffmpeg/build/ffmpeg/lib/pkgconfig/theoraenc.pc
make[6]: Leaving directory '/home/pi/tvheadend/build.linux/ffmpeg/libtheora-1.1.1'
make[5]: Leaving directory '/home/pi/tvheadend/build.linux/ffmpeg/libtheora-1.1.1'
make[4]: Leaving directory '/home/pi/tvheadend/build.linux/ffmpeg/libtheora-1.1.1'
[ 27%] Building CXX object encoder/CMakeFiles/encoder.dir/weightPrediction.cpp.o
make[6]: Leaving directory '/home/pi/tvheadend/build.linux/ffmpeg/x265_3.2/build/linux'
[ 27%] Built target encoder
make[5]: Leaving directory '/home/pi/tvheadend/build.linux/ffmpeg/x265_3.2/build/linux'
make[4]: *** [Makefile:130: all] Error 2
make[4]: Leaving directory '/home/pi/tvheadend/build.linux/ffmpeg/x265_3.2/build/linux'
make[3]: *** [Makefile.ffmpeg:277: /home/pi/tvheadend/build.linux/ffmpeg/x265_3.2/.tvh_build] Error 2
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 2Any help is appreciated
--disable-libx265_static
also rest "static"
RE: [MANUAL] Building .DEB packages on clean Ubuntu or other Debian distros - Added by Adrian A about 4 years ago
okay, I compiled my own ffmpeg, but now I encountered the error:
/usr/bin/ld: /usr/local/lib/libvpx.a(decodemv.c.o): in function `vp8_decode_mode_mvs':
(.text+0x2400): dangerous relocation: unsupported relocation
/usr/bin/ld: (.text+0x2404): dangerous relocation: unsupported relocation
/usr/bin/ld: (.text+0x2408): dangerous relocation: unsupported relocation
/usr/bin/ld: (.text+0x240c): dangerous relocation: unsupported relocation
/usr/bin/ld: (.text+0x2430): dangerous relocation: unsupported relocation
/usr/bin/ld: (.text+0x2434): dangerous relocation: unsupported relocation
/usr/bin/ld: (.text+0x2438): dangerous relocation: unsupported relocation
/usr/bin/ld: (.text+0x243c): dangerous relocation: unsupported relocation
/usr/bin/ld: (.text+0x28e8): dangerous relocation: unsupported relocation
/usr/bin/ld: (.text+0x28ec): dangerous relocation: unsupported relocation
/usr/bin/ld: (.text+0x28f0): dangerous relocation: unsupported relocation
/usr/bin/ld: (.text+0x28f4): dangerous relocation: unsupported relocation
/usr/bin/ld: BFD (GNU Binutils for Raspbian) 2.31.1 internal error, aborting at ../../bfd/elf32-arm.c:9459 in elf32_arm_add_dynreloc
/usr/bin/ld: Please report this bug.
collect2: error: ld returned 1 exit status
make[2]: *** [Makefile:712: /home/pi/tvheadend/build.linux/tvheadend] 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
real 1m35.397s
user 4m18.573s
sys 0m39.690s
any help?
RE: [MANUAL] Building .DEB packages on clean Ubuntu or other Debian distros - Added by saen acro about 4 years ago
Build TVH leave external ffmpeg for now.
RE: [MANUAL] Building .DEB packages on clean Ubuntu or other Debian distros - Added by Adrian A about 4 years ago
Okay, but some libs still make problems
/usr/bin/ld: /usr/local/lib/libvpx.a(decodemv.c.o): in function `vp8_decode_mode_mvs':
(.text+0x2400): dangerous relocation: unsupported relocation
/usr/bin/ld: (.text+0x2404): dangerous relocation: unsupported relocation
/usr/bin/ld: (.text+0x2408): dangerous relocation: unsupported relocation
/usr/bin/ld: (.text+0x240c): dangerous relocation: unsupported relocation
/usr/bin/ld: (.text+0x2430): dangerous relocation: unsupported relocation
/usr/bin/ld: (.text+0x2434): dangerous relocation: unsupported relocation
/usr/bin/ld: (.text+0x2438): dangerous relocation: unsupported relocation
/usr/bin/ld: (.text+0x243c): dangerous relocation: unsupported relocation
/usr/bin/ld: (.text+0x28e8): dangerous relocation: unsupported relocation
/usr/bin/ld: (.text+0x28ec): dangerous relocation: unsupported relocation
/usr/bin/ld: (.text+0x28f0): dangerous relocation: unsupported relocation
/usr/bin/ld: (.text+0x28f4): dangerous relocation: unsupported relocation
/usr/bin/ld: /usr/local/lib/libx264.a(base.o)(.text+0xc): unresolvable R_ARM_MOVW_ABS_NC relocation against symbol `stderr@@GLIBC_2.4'
/usr/bin/ld: final link failed: symbol needs debug section which does not exist
collect2: error: ld returned 1 exit status
make[2]: *** [Makefile:712: /home/pi/tvheadend/build.linux/tvheadend] 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
real 1m40.534s
user 4m20.814s
sys 0m38.719s
RE: [MANUAL] Building .DEB packages on clean Ubuntu or other Debian distros - Added by saen acro about 4 years ago
Adrian A wrote:
Okay, but some libs still make problems
[...]
What is a command line?
RE: [MANUAL] Building .DEB packages on clean Ubuntu or other Debian distros - Added by Bapak Ireng about 4 years ago
Hi, this is my output of ./configure:
serv03@root /home/tvheadend/tvheadend-master: ./configure
Checking support/features
checking for cc execinfo.h ... ok
checking for cc -mmmx ... ok
checking for cc -msse2 ... ok
checking for cc -Wunused-result ... ok
checking for cc -fstack-protector ... ok
checking for cc -fstack-protector-strong ... ok
checking for cc -fstack-check ... ok
checking for cc -fPIE ... ok
checking for cc strlcat ... fail
checking for cc strlcpy ... fail
checking for cc fdatasync ... ok
checking for cc getloadavg ... ok
checking for cc atomic32 ... ok
checking for cc atomic64 ... ok
checking for cc atomic_time_t ... ok
checking for cc atomic_ptr ... ok
checking for cc bitops64 ... ok
checking for cc lockowner ... ok
checking for cc qsort_r ... ok
checking for cc stime ... ok
checking for cc gmtoff ... ok
checking for cc recvmmsg ... ok
checking for cc sendmmsg ... ok
checking for cc libiconv ... fail
^ using build-in glibc iconv routines
checking for cc ifnames ... ok
checking for cc cclang_threadsan ... fail
checking for py module gzip ... ok
checking for pkg-config ... ok
checking for xgettext ... ok
checking for msgmerge ... ok
checking for gzip ... ok
checking for bzip2 ... ok
checking for pkg openssl ... ok (detected 1.1.1d)
checking for cc linux/dvb/version.h ... ok
checking for pkg zlib ... ok (detected 1.2.11)
checking for pkg libpcre2-8 ... ok (detected 10.32)
checking for pkg liburiparser ... ok (detected 0.9.1)
checking for pkg avahi-client ... ok (detected 0.7)
checking for cmake ... ok
checking for cc -lstdc++ ... ok
checking for pkg libva >=0.38.0 ... ok (detected 1.4.0)
checking for pkg libva-x11 >=0.38.0 ... ok (detected 1.4.0)
checking for pkg libva-drm >=0.38.0 ... ok (detected 1.4.0)
checking for cc sys/inotify.h ... ok
checking for cc inotify_init1 ... ok
checking for cc dvbcsa/dvbcsa.h ... ok
checking for cc -ldvbcsa ... ok
fetching dvb-scan files ... ok
checking for cc epoll_create1 ... ok
checking for pkg dbus-1 ... ok (detected 1.12.20)
Compiler:
Using C compiler: cc
Using LD flags: -ldvbcsa
Build for arch: x86_64
Binaries:
Using PYTHON: python
Using GZIP: gzip
Using BZIP2: bzip2
Options:
pie yes
ccdebug no
cardclient yes
cwc yes
cccam yes
capmt yes
constcw yes
linuxdvb yes
satip_server yes
satip_client yes
hdhomerun_client yes
hdhomerun_static yes
iptv yes
tsfile yes
dvbscan yes
timeshift yes
trace yes
avahi yes
zlib yes
libav yes
ffmpeg_static yes
libx264 yes
libx264_static yes
libx265 yes
libx265_static yes
libvpx yes
libvpx_static yes
libtheora yes
libtheora_static yes
libvorbis yes
libvorbis_static yes
libfdkaac no
libfdkaac_static no
libopus yes
libopus_static yes
nvenc no
vaapi yes
mmal no
omx no
inotify yes
epoll yes
pcre no
pcre2 yes
uriparser yes
ccache no
tvhcsa yes
bundle no
pngquant no
kqueue no
dbus_1 yes
android no
gtimer_check no
slow_memoryinfo no
libsystemd_daemon no
pcloud_cache yes
ddci yes
cclang_threadsan no
gperftools no
execinfo yes
mmx yes
sse2 yes
W_unused_result yes
f_stack_protector yes
f_stack_protector_strong yes
f_stack_check yes
f_PIE yes
fdatasync yes
getloadavg yes
atomic32 yes
atomic64 yes
atomic_time_t yes
atomic_ptr yes
bitops64 yes
lockowner yes
qsort_r yes
stime yes
gmtoff yes
recvmmsg yes
sendmmsg yes
ifnames yes
py_gzip yes
bin_pkg_config yes
bin_xgettext yes
bin_msgmerge yes
bin_gzip yes
bin_bzip2 yes
ssl yes
linuxdvbapi yes
linuxdvb_ca yes
upnp yes
bin_cmake yes
stdcpp yes
libogg_static yes
hwaccels yes
inotify_h yes
inotify_init1 yes
dvbcsa yes
epoll_create1 yes
mpegts yes
mpegts_dvb yes
Packages:
openssl 1.1.1d
zlib 1.2.11
libpcre2-8 10.32
liburiparser 0.9.1
avahi-client 0.7
libva 1.4.0
libva-x11 1.4.0
libva-drm 1.4.0
dbus-1 1.12.20
Installation paths:
Prefix: /usr/local
Binaries: ${prefix}/bin
Libraries: ${prefix}/lib
Data files: ${prefix}/share
Man pages: ${datadir}/man
Final Binary:
/home/tvheadend/tvheadend-master/build.linux/tvheadend
Tvheadend Data Directory:
/usr/local/share/tvheadend
ownloading the sources.
git clone https://github.com/tvheadend/tvheadend.git
Klone nach 'tvheadend' ...
remote: Enumerating objects: 1, done.
remote: Counting objects: 100% (1/1), done.
remote: Total 84157 (delta 0), reused 0 (delta 0), pack-reused 84156
Empfange Objekte: 100% (84157/84157), 58.11 MiB | 11.51 MiB/s, Fertig.
Löse Unterschiede auf: 100% (63496/63496), Fertig.
Output of ./Autobuild.sh
./Autobuild.sh -t debian
fatal: Kein Git-Repository (oder irgendein Elternverzeichnis bis zum Einhängepunkt /)
Stoppe bei Dateisystemgrenze (GIT_DISCOVERY_ACROSS_FILESYSTEM nicht gesetzt).
What went wrong ? What is the error ? How to resolve the issue !
Many Thanks in advance for your help !
best regards, ireng4450
RE: [MANUAL] Building .DEB packages on clean Ubuntu or other Debian distros - Added by Bapak Ireng about 4 years ago
Ok, in the meantime eveything worked out, the .deb package is installed and tvheadend is up and running! Now it's time to configure the system.....
RE: [MANUAL] Building .DEB packages on clean Ubuntu or other Debian distros - Added by saen acro about 4 years ago
Added ccache
For those who often compile packages.
RE: [MANUAL] Building .DEB packages on clean Ubuntu or other Debian distros - Added by saen acro about 4 years ago
for more advansed building
sudo apt install libprotobuf-dev libtcmalloc-minimal4 libgoogle-perftools-dev libkqueue-dev
now options
--enable-cclang_threadsan --enable-gperftools --enable-kqueue --enable-ccdebug --enable-gtimer_check --enable-slow_memoryinfo
are possible ShowHide
./configure --enable-cclang_threadsan --enable-gperftools --enable-kqueue --enable-ccdebug --enable-libfdkaac --enable-gtimer_check --enable-slow_memoryinfo --enable-vaapi --enable-nvenc --disable-hdhomerun_client --disable-hdhomerun_static
Checking support/features
checking for cc execinfo.h ... ok
checking for cc -mmmx ... ok
checking for cc -msse2 ... ok
checking for cc -Wunused-result ... ok
checking for cc -fstack-protector ... ok
checking for cc -fstack-protector-strong ... ok
checking for cc -fstack-check ... ok
checking for cc -fPIE ... ok
checking for cc strlcat ... fail
checking for cc strlcpy ... fail
checking for cc fdatasync ... ok
checking for cc getloadavg ... ok
checking for cc atomic32 ... ok
checking for cc atomic64 ... ok
checking for cc atomic_time_t ... ok
checking for cc atomic_ptr ... ok
checking for cc bitops64 ... ok
checking for cc lockowner ... ok
checking for cc qsort_r ... ok
checking for cc stime ... ok
checking for cc gmtoff ... ok
checking for cc recvmmsg ... ok
checking for cc sendmmsg ... ok
checking for cc libiconv ... fail
^ using build-in glibc iconv routines
checking for cc ifnames ... ok
checking for cc cclang_threadsan ... fail
checking for py module gzip ... ok
checking for pkg-config ... ok
checking for xgettext ... ok
checking for msgmerge ... ok
checking for gzip ... ok
checking for bzip2 ... ok
checking for pkg openssl ... ok (detected 1.0.2g)
checking for cc linux/dvb/version.h ... ok
checking for pkg zlib ... ok (detected 1.2.8)
checking for pkg libpcre2-8 ... ok (detected 10.21)
checking for pkg liburiparser ... ok (detected 0.8.4)
checking for pkg avahi-client ... ok (detected 0.6.32-rc)
checking for cmake ... ok
checking for cc -lstdc++ ... ok
checking for pkg libva >=0.38.0 ... ok (detected 0.39.0)
checking for pkg libva-x11 >=0.38.0 ... ok (detected 0.39.0)
checking for pkg libva-drm >=0.38.0 ... ok (detected 0.39.0)
checking for cc sys/inotify.h ... ok
checking for cc inotify_init1 ... ok
checking for cc dvbcsa/dvbcsa.h ... ok
checking for cc -ldvbcsa ... ok
fetching dvb-scan files ... ok
checking for cc epoll_create1 ... ok
checking for pkg dbus-1 ... ok (detected 1.10.6)
Compiler:
Using C compiler: ccache cc
Using LD flags: -ldvbcsa
Build for arch: x86_64
Binaries:
Using PYTHON: python
Using GZIP: gzip
Using BZIP2: bzip2
Options:
pie yes
ccdebug yes
cardclient yes
cwc yes
cccam yes
capmt yes
constcw yes
linuxdvb yes
satip_server yes
satip_client yes
hdhomerun_client no
hdhomerun_static no
iptv yes
tsfile yes
dvbscan yes
timeshift yes
trace yes
avahi yes
zlib yes
libav yes
ffmpeg_static yes
libx264 yes
libx264_static yes
libx265 yes
libx265_static yes
libvpx yes
libvpx_static yes
libtheora yes
libtheora_static yes
libvorbis yes
libvorbis_static yes
libfdkaac yes
libfdkaac_static yes
libopus yes
libopus_static yes
nvenc yes
vaapi yes
mmal no
omx no
inotify yes
epoll yes
pcre no
pcre2 yes
uriparser yes
ccache yes
tvhcsa yes
bundle no
pngquant no
kqueue yes
dbus_1 yes
android no
gtimer_check yes
slow_memoryinfo yes
libsystemd_daemon no
pcloud_cache yes
ddci yes
cclang_threadsan yes
gperftools yes
execinfo yes
mmx yes
sse2 yes
W_unused_result yes
f_stack_protector yes
f_stack_protector_strong yes
f_stack_check yes
f_PIE yes
fdatasync yes
getloadavg yes
atomic32 yes
atomic64 yes
atomic_time_t yes
atomic_ptr yes
bitops64 yes
lockowner yes
qsort_r yes
stime yes
gmtoff yes
recvmmsg yes
sendmmsg yes
ifnames yes
py_gzip yes
bin_pkg_config yes
bin_xgettext yes
bin_msgmerge yes
bin_gzip yes
bin_bzip2 yes
ssl yes
linuxdvbapi yes
linuxdvb_ca yes
upnp yes
bin_cmake yes
stdcpp yes
libogg_static yes
hwaccels yes
inotify_h yes
inotify_init1 yes
dvbcsa yes
epoll_create1 yes
mpegts yes
mpegts_dvb yes
Packages:
openssl 1.0.2g
zlib 1.2.8
libpcre2-8 10.21
liburiparser 0.8.4
avahi-client 0.6.32-rc
libva 0.39.0
libva-x11 0.39.0
libva-drm 0.39.0
dbus-1 1.10.6
Installation paths:
Prefix: /usr/local
Binaries: ${prefix}/bin
Libraries: ${prefix}/lib
Data files: ${prefix}/share
Man pages: ${datadir}/man
Final Binary:
/opt/tvheadend/build.linux/tvheadend
Tvheadend Data Directory:
/usr/local/share/tvheadend
RE: [MANUAL] Building .DEB packages on clean Ubuntu or other Debian distros - Added by Russell Tobin over 3 years ago
Hi,
Build script for tvheadend on Ubuntu 20.04 32 bit on Raspberry Pi 4 with 8Gb
My build script:
#!/bin/bash # # Name: build.sh # # Description: Build script for tvheadend on Ubuntu 20.04 32bit on Raspberry 4 with 4Gb or 8Gb # Note: Only a couple of miniro changes as noted below to make this build on 64bit # Usage: # sudo -i # ln -s /usr /opt/vc # ln -s /usr/bin/python2 /usr/bin/python # cd /usr/local/src # ./build.sh # # Note: the "ln" about is because some raspberry userspace packages are compiled from source during build, # the files are installed in their "proper" locations in /usr. # But some third-party scripts expect e.g. /opt/vc/bin/vcgencmd; # Thus the hack # ln -s /usr /opt/vc # # # Also the following needs to be put into /boot/firmware/config.txt # #gpu_mem=128 #[pi4] #dtoverlay=vc4-fkms-v3d,cma-128 #max_framebuffers=2 BASE=$(dirname "$0") if [ ! -x /usr/bin/python ] ; then echo "/usr/bin/python must exist for this to compile" exit 1 fi if [ ! -d /opt/vc ] ; then echo "/opt/vc must exist and be linked to /usr for tvheadend to compile" exit 1 fi ( if [ -d "$BASE/tvheadend" ]; then cd "$BASE/tvheadend" make distclean git pull else apt-get update apt install -y \ build-essential \ cmake \ pkg-config \ git \ ccache \ bzip2 \ wget \ gettext \ debhelper \ python3 \ python3-dev \ python3-pip \ python3-rpi.gpio \ python2-minimal \ python-rpi.gpio \ dvb-apps \ libraspberrypi-dev \ libraspberrypi-bin \ libraspberrypi0 \ libssl-dev \ libavahi-client-dev \ zlib1g-dev \ libavcodec-dev \ libavcodec-extra \ libavfilter-dev \ libavfilter-extra \ libavformat-dev \ libavutil-dev \ fdkacc \ libfdk-aac-dev \ libfdk-aac1 \ libswscale-dev \ libdvbcsa-dev \ libavresample-dev \ libiconv-hook-dev \ libkqueue-dev \ liburiparser-dev \ libcurl4-gnutls-dev \ libpcre2-dev \ libpcre3-dev \ libva-dev \ libva-drm2 \ libva-x11-2 \ libsystemd-dev \ libomxil-bellagio-dev \ libprotobuf-dev \ libtcmalloc-minimal4 \ libgoogle-perftools-dev # The following my not existing Ubuntu 20.04 64bit (arm64) remove from above as required # libkqueue-dev # fdkacc # libfdk-aac-dev # libfdk-aac1 # Cant' find the following for armhf or arm64 #i965-va-driver-shaders # # Install rpi-userland libraries / binaries # snap install rpi-userland --edge cd "$BASE" git clone -v https://github.com/tvheadend/tvheadend.git tvheadend # --depth=5 (need version tag workaround else 0.0.0 version) #git clone -b -v release/4.2 https://github.com/tvheadend/tvheadend.git cd "$BASE/tvheadend" fi echo "AUTOBUILD_CONFIGURE_EXTRA=\"\${AUTOBUILD_CONFIGURE_EXTRA:-} --arch=armhf\"" > Autobuild/focal-armhf.sh echo "DEBDIST=focal" >> Autobuild/focal-armhf.sh echo "source Autobuild/debian.sh" >> Autobuild/focal-armhf.sh echo "AUTOBUILD_CONFIGURE_EXTRA=\"\${AUTOBUILD_CONFIGURE_EXTRA:-} --arch=arm64\"" > Autobuild/focal-arm64.sh echo "DEBDIST=focal" >> Autobuild/focal-arm64.sh echo "source Autobuild/debian.sh" >> Autobuild/focal-arm64.sh time ( AUTOBUILD_CONFIGURE_EXTRA="" AUTOBUILD_CONFIGURE_EXTRA="$AUTOBUILD_CONFIGURE_EXTRA --disable-android --enable-pie --enable-avahi --enable-libsystemd_daemon --disable-bintray_cache --enable-libav --enable-libopus --enable-libtheora --enable-libvorbis --enable-libfdkaac --enable-omx --enable-mmal --enable-vaapi" AUTOBUILD_CONFIGURE_EXTRA="$AUTOBUILD_CONFIGURE_EXTRA --disable-libvpx_static --disable-libvpx" AUTOBUILD_CONFIGURE_EXTRA="$AUTOBUILD_CONFIGURE_EXTRA --enable-gtimer_check --enable-slow_memoryinfo --enable-cclang_threadsan --enable-gperftools --enable-ccdebug" export AUTOBUILD_CONFIGURE_EXTRA ./Autobuild.sh -j$(nproc) -t focal-armhf ) ) 2>&1 | tee "$BASE/build.log"
In case you need it, the output of ./configure:
Checking support/features checking for cc execinfo.h ... ok checking for cc -mmmx ... fail checking for cc -msse2 ... fail checking for cc -Wunused-result ... ok checking for cc -fstack-protector ... ok checking for cc -fstack-protector-strong ... ok checking for cc -fstack-check ... ok checking for cc -fPIE ... ok checking for cc strlcat ... fail checking for cc strlcpy ... fail checking for cc fdatasync ... ok checking for cc getloadavg ... ok checking for cc atomic32 ... ok checking for cc atomic64 ... ok checking for cc atomic_time_t ... ok checking for cc atomic_ptr ... ok checking for cc bitops64 ... ok checking for cc lockowner ... ok checking for cc qsort_r ... ok checking for cc stime ... fail checking for cc gmtoff ... ok checking for cc recvmmsg ... ok checking for cc sendmmsg ... ok checking for cc libiconv ... fail ^ using build-in glibc iconv routines checking for cc ifnames ... ok checking for cc cclang_threadsan ... fail checking for py module gzip ... ok checking for pkg-config ... ok checking for xgettext ... ok checking for msgmerge ... ok checking for gzip ... hecking support/features checking for cc execinfo.h ... ok checking for cc -mmmx ... fail checking for cc -msse2 ... fail checking for cc -Wunused-result ... ok checking for cc -fstack-protector ... ok checking for cc -fstack-protector-strong ... ok checking for cc -fstack-check ... ok checking for cc -fPIE ... ok checking for cc strlcat ... fail checking for cc strlcpy ... fail checking for cc fdatasync ... ok checking for cc getloadavg ... ok checking for cc atomic32 ... ok checking for cc atomic64 ... ok checking for cc atomic_time_t ... ok checking for cc atomic_ptr ... ok checking for cc bitops64 ... ok checking for cc lockowner ... ok checking for cc qsort_r ... ok checking for cc stime ... fail checking for cc gmtoff ... ok checking for cc recvmmsg ... ok checking for cc sendmmsg ... ok checking for cc libiconv ... fail ^ using build-in glibc iconv routines checking for cc ifnames ... ok checking for cc cclang_threadsan ... fail checking for py module gzip ... ok checking for pkg-config ... ok checking for xgettext ... ok checking for msgmerge ... ok checking for gzip ... ok checking for bzip2 ... ok checking for pkg openssl ... ok (detected 1.1.1f) checking for cc linux/dvb/version.h ... ok checking for pkg zlib ... ok (detected 1.2.11) checking for pkg libpcre2-8 ... ok (detected 10.34) checking for pkg liburiparser ... ok (detected 0.9.3) checking for pkg avahi-client ... ok (detected 0.7) checking for cmake ... ok checking for cc -lstdc++ ... ok checking for pkg libva >=0.38.0 ... ok (detected 1.7.0) checking for pkg libva-drm >=0.38.0 ... ok (detected 1.7.0) checking for cc sys/inotify.h ... ok checking for cc inotify_init1 ... ok checking for cc dvbcsa/dvbcsa.h ... ok checking for cc -ldvbcsa ... ok fetching dvb-scan files ... ok checking for cc epoll_create1 ... ok checking for pkg dbus-1 ... ok (detected 1.12.16) Compiler: Using C compiler: ccache cc Using LD flags: -ldvbcsa Build for arch: arm Binaries: Using PYTHON: python Using GZIP: gzip Using BZIP2: bzip2 Options: pie yes ccdebug no cardclient yes cwc yes cccam yes capmt yes constcw yes linuxdvb yes satip_server yes satip_client yes hdhomerun_client yes hdhomerun_static yes iptv yes tsfile yes dvbscan yes timeshift yes trace yes avahi yes zlib yes libav yes ffmpeg_static yes libx264 yes libx264_static yes libx265 yes libx265_static yes libvpx yes libvpx_static yes libtheora yes libtheora_static yes libvorbis yes libvorbis_static yes libfdkaac no libfdkaac_static no libopus yes libopus_static yes nvenc no vaapi yes mmal no omx no inotify yes epoll yes pcre no pcre2 yes uriparser yes ccache yes tvhcsa yes bundle no pngquant no kqueue no dbus_1 yes android no gtimer_check no slow_memoryinfo no libsystemd_daemon no pcloud_cache yes ddci yes cclang_threadsan no gperftools no execinfo yes W_unused_result yes f_stack_protector yes f_stack_protector_strong yes f_stack_check yes f_PIE yes fdatasync yes getloadavg yes atomic32 yes atomic64 yes atomic_time_t yes atomic_ptr yes bitops64 yes lockowner yes qsort_r yes gmtoff yes recvmmsg yes sendmmsg yes ifnames yes py_gzip yes bin_pkg_config yes bin_xgettext yes bin_msgmerge yes bin_gzip yes bin_bzip2 yes ssl yes linuxdvbapi yes linuxdvb_ca yes upnp yes bin_cmake yes stdcpp yes libogg_static yes hwaccels yes inotify_h yes inotify_init1 yes dvbcsa yes epoll_create1 yes mpegts yes mpegts_dvb yes Packages: openssl 1.1.1f zlib 1.2.11 libpcre2-8 10.34 liburiparser 0.9.3 avahi-client 0.7 libva 1.7.0 libva-drm 1.7.0 dbus-1 1.12.16 Installation paths: Prefix: /usr/local Binaries: ${prefix}/bin Libraries: ${prefix}/lib Data files: ${prefix}/share Man pages: ${datadir}/man Final Binary: /usr/local/src/tvheadend/build.linux/tvheadend Tvheadend Data Directory: /usr/local/share/tvheadend ok checking for bzip2 ... ok checking for pkg openssl ... ok (detected 1.1.1f) checking for cc linux/dvb/version.h ... ok checking for pkg zlib ... ok (detected 1.2.11) checking for pkg libpcre2-8 ... ok (detected 10.34) checking for pkg liburiparser ... ok (detected 0.9.3) checking for pkg avahi-client ... ok (detected 0.7) checking for cmake ... ok checking for cc -lstdc++ ... ok checking for pkg libva >=0.38.0 ... ok (detected 1.7.0) checking for pkg libva-drm >=0.38.0 ... ok (detected 1.7.0) checking for cc sys/inotify.h ... ok checking for cc inotify_init1 ... ok checking for cc dvbcsa/dvbcsa.h ... ok checking for cc -ldvbcsa ... ok fetching dvb-scan files ... ok checking for cc epoll_create1 ... ok checking for pkg dbus-1 ... ok (detected 1.12.16) Compiler: Using C compiler: ccache cc Using LD flags: -ldvbcsa Build for arch: arm Binaries: Using PYTHON: python Using GZIP: gzip Using BZIP2: bzip2 Options: pie yes ccdebug no cardclient yes cwc yes cccam yes capmt yes constcw yes linuxdvb yes satip_server yes satip_client yes hdhomerun_client yes hdhomerun_static yes iptv yes tsfile yes dvbscan yes timeshift yes trace yes avahi yes zlib yes libav yes ffmpeg_static yes libx264 yes libx264_static yes libx265 yes libx265_static yes libvpx yes libvpx_static yes libtheora yes libtheora_static yes libvorbis yes libvorbis_static yes libfdkaac no libfdkaac_static no libopus yes libopus_static yes nvenc no vaapi yes mmal no omx no inotify yes epoll yes pcre no pcre2 yes uriparser yes ccache yes tvhcsa yes bundle no pngquant no kqueue no dbus_1 yes android no gtimer_check no slow_memoryinfo no libsystemd_daemon no pcloud_cache yes ddci yes cclang_threadsan no gperftools no execinfo yes W_unused_result yes f_stack_protector yes f_stack_protector_strong yes f_stack_check yes f_PIE yes fdatasync yes getloadavg yes atomic32 yes atomic64 yes atomic_time_t yes atomic_ptr yes bitops64 yes lockowner yes qsort_r yes gmtoff yes recvmmsg yes sendmmsg yes ifnames yes py_gzip yes bin_pkg_config yes bin_xgettext yes bin_msgmerge yes bin_gzip yes bin_bzip2 yes ssl yes linuxdvbapi yes linuxdvb_ca yes upnp yes bin_cmake yes stdcpp yes libogg_static yes hwaccels yes inotify_h yes inotify_init1 yes dvbcsa yes epoll_create1 yes mpegts yes mpegts_dvb yes Packages: openssl 1.1.1f zlib 1.2.11 libpcre2-8 10.34 liburiparser 0.9.3 avahi-client 0.7 libva 1.7.0 libva-drm 1.7.0 dbus-1 1.12.16 Installation paths: Prefix: /usr/local Binaries: ${prefix}/bin Libraries: ${prefix}/lib Data files: ${prefix}/share Man pages: ${datadir}/man Final Binary: /usr/local/src/tvheadend/build.linux/tvheadend Tvheadend Data Directory: /usr/local/share/tvheadend
RE: [MANUAL] Building .DEB packages on clean Ubuntu or other Debian distros - Added by saen acro over 3 years ago
Use pre buton to format quoted text in your post's.
What happens when do
make distclean
before start building?
RE: [MANUAL] Building .DEB packages on clean Ubuntu or other Debian distros - Added by Russell Tobin over 3 years ago
Hi,
Have updated post with final build script that completes the build.
Most of the issues had to do with missing libraries and missing symbolic links - see script for details.
Now getting a Sig fault 11.
Will get a debug/trace log after getting some sleep.
From syslog
Apr 19 12:32:50 ubuntu systemd[1]: Starting Tvheadend - a TV streaming server and DVR... Apr 19 12:32:50 ubuntu systemd[1]: anacron.service: Succeeded. Apr 19 12:32:50 ubuntu tvheadend[19379]: main: Log started Apr 19 12:32:50 ubuntu tvheadend[19379]: tcp: No systemd socket: creating a new one Apr 19 12:32:50 ubuntu tvheadend[19379]: http: Starting HTTP server 0.0.0.0:9981 Apr 19 12:32:50 ubuntu tvheadend[19379]: tcp: No systemd socket: creating a new one Apr 19 12:32:50 ubuntu tvheadend[19379]: htsp: Starting HTSP server 0.0.0.0:9982 Apr 19 12:32:50 ubuntu tvheadend[19379]: config: loaded Apr 19 12:32:50 ubuntu systemd[1]: Started Tvheadend - a TV streaming server and DVR. Apr 19 12:32:50 ubuntu tvheadend[19379]: config: scanfile (re)initialization with path <none> Apr 19 12:32:50 ubuntu tvheadend[19379]: transcode: 'video' context type registered Apr 19 12:32:50 ubuntu tvheadend[19379]: transcode: 'audio' context type registered Apr 19 12:32:50 ubuntu tvheadend[19379]: transcode: '&TVHH264Decoder' decoder helper registered Apr 19 12:32:50 ubuntu tvheadend[19379]: transcode: '&TVHTHEORADecoder' decoder helper registered Apr 19 12:32:50 ubuntu tvheadend[19379]: transcode: '&TVHAACDecoder' decoder helper registered Apr 19 12:32:50 ubuntu tvheadend[19379]: transcode: '&TVHVORBISDecoder' decoder helper registered Apr 19 12:32:50 ubuntu tvheadend[19379]: transcode: '&TVHOPUSDecoder' decoder helper registered Apr 19 12:32:50 ubuntu tvheadend[19379]: transcode: '&TVHMPEG2VIDEOEncoder' encoder helper registered Apr 19 12:32:50 ubuntu tvheadend[19379]: transcode: '&TVHH264Encoder' encoder helper registered Apr 19 12:32:50 ubuntu tvheadend[19379]: transcode: '&TVHHEVCEncoder' encoder helper registered Apr 19 12:32:50 ubuntu tvheadend[19379]: transcode: '&TVHAACEncoder' encoder helper registered Apr 19 12:32:50 ubuntu tvheadend[19379]: codec: 'mpeg2video' encoder registered Apr 19 12:32:50 ubuntu tvheadend[19379]: codec: 'mp2' encoder registered Apr 19 12:32:50 ubuntu tvheadend[19379]: codec: 'aac' encoder registered Apr 19 12:32:50 ubuntu tvheadend[19379]: codec: 'vorbis' encoder registered Apr 19 12:32:50 ubuntu tvheadend[19379]: codec: 'flac' encoder registered Apr 19 12:32:50 ubuntu tvheadend[19379]: codec: 'libx264' encoder registered Apr 19 12:32:50 ubuntu tvheadend[19379]: codec: 'libx265' encoder registered Apr 19 12:32:50 ubuntu tvheadend[19379]: codec: 'libtheora' encoder registered Apr 19 12:32:50 ubuntu tvheadend[19379]: codec: 'libvorbis' encoder registered Apr 19 12:32:50 ubuntu tvheadend[19379]: codec: 'libfdk_aac' encoder registered Apr 19 12:32:50 ubuntu tvheadend[19379]: codec: 'libopus' encoder registered Apr 19 12:32:50 ubuntu tvheadend[19379]: codec: 'h264_vaapi' encoder registered Apr 19 12:32:50 ubuntu tvheadend[19379]: codec: 'hevc_vaapi' encoder registered Apr 19 12:32:50 ubuntu tvheadend[19379]: codec: 'vp8_vaapi' encoder registered Apr 19 12:32:50 ubuntu tvheadend[19379]: codec: 'vp9_vaapi' encoder registered Apr 19 12:32:50 ubuntu tvheadend[19379]: codec: 'h264_omx' encoder registered Apr 19 12:32:50 ubuntu tvheadend[19379]: codec: 'webtv-vorbis' codec profile created Apr 19 12:32:50 ubuntu tvheadend[19379]: codec: 'webtv-h264' codec profile created Apr 19 12:32:50 ubuntu tvheadend[19379]: codec: 'webtv-aac' codec profile created Apr 19 12:32:50 ubuntu tvheadend[19379]: codec: codec 'libvpx' not found Apr 19 12:32:50 ubuntu tvheadend[19379]: codec: unable to create codec profile from config tree: 'webtv-vp8' Apr 19 12:32:50 ubuntu tvheadend[19379]: descrambler: adding CAID 2600/FFFF as ConstCW interval 10000ms pc 20 ep default (BISS) Apr 19 12:32:50 ubuntu tvheadend[19379]: descrambler: adding CAID 0E00/FFFF as MultiPID interval 1000ms pc 2 ep default (PowerVu) Apr 19 12:32:50 ubuntu tvheadend[19379]: iptv: Using 2 input thread(s) Apr 19 12:32:50 ubuntu tvheadend[19379]: dvr: Creating new configuration '' Apr 19 12:32:50 ubuntu tvheadend[19379]: access: No access entries loaded Apr 19 12:32:50 ubuntu tvheadend[19379]: epggrab: module uk_freesat created Apr 19 12:32:50 ubuntu tvheadend[19379]: epggrab: module uk_freesat_eit created Apr 19 12:32:50 ubuntu tvheadend[19379]: epggrab: module uk_freeview created Apr 19 12:32:50 ubuntu tvheadend[19379]: epggrab: module nz_freeview2 created Apr 19 12:32:50 ubuntu tvheadend[19379]: epggrab: module nz_freeview1 created Apr 19 12:32:50 ubuntu tvheadend[19379]: epggrab: module viasat_baltic created Apr 19 12:32:50 ubuntu tvheadend[19379]: epggrab: module Bulsatcom_39E created Apr 19 12:32:50 ubuntu tvheadend[19379]: epggrab: module uk_cable_virgin created Apr 19 12:32:50 ubuntu tvheadend[19379]: epggrab: module eit created Apr 19 12:32:50 ubuntu tvheadend[19379]: epggrab: module psip created Apr 19 12:32:50 ubuntu tvheadend[19379]: epggrab: module opentv-skyit created Apr 19 12:32:50 ubuntu tvheadend[19379]: epggrab: module opentv-skynz created Apr 19 12:32:50 ubuntu tvheadend[19379]: epggrab: module opentv-skyuk created Apr 19 12:32:50 ubuntu tvheadend[19379]: epggrab: module opentv-ausat created Apr 19 12:32:50 ubuntu tvheadend[19379]: epggrab: module xmltv created Apr 19 12:32:50 ubuntu tvheadend[19379]: tbl-eit: module eit - scraper disabled by config Apr 19 12:32:50 ubuntu tvheadend[19379]: dvr: Purging obsolete autorec entries for current schedule Apr 19 12:32:50 ubuntu tvheadend[19379]: START: HTS Tvheadend version 4.3-1950~g98a7c6cfd started, running as PID:19379 UID:129 GID:44, CWD:/ CNF:/home/hts/.hts/tvheadend Apr 19 12:32:50 ubuntu tvheadend[19379]: scanfile: DVB-S - loaded 1 regions with 115 networks Apr 19 12:32:50 ubuntu tvheadend[19379]: scanfile: DVB-T - loaded 44 regions with 1124 networks Apr 19 12:32:50 ubuntu tvheadend[19379]: scanfile: DVB-C - loaded 19 regions with 64 networks Apr 19 12:32:50 ubuntu tvheadend[19379]: scanfile: ATSC-T - loaded 2 regions with 12 networks Apr 19 12:32:50 ubuntu tvheadend[19379]: scanfile: ATSC-C - loaded 1 regions with 5 networks Apr 19 12:32:50 ubuntu tvheadend[19379]: scanfile: ISDB-T - loaded 2 regions with 1297 networks Apr 19 12:32:51 ubuntu tvheadend[19379]: avahi: Service 'Tvheadend' successfully established. Apr 19 12:33:40 ubuntu systemd[1]: tvheadend.service: Main process exited, code=killed, status=11/SEGV Apr 19 12:33:40 ubuntu systemd[1]: tvheadend.service: Failed with result 'signal'.
Thanks,
Neeto
RE: [MANUAL] Building .DEB packages on clean Ubuntu or other Debian distros - Added by Noone Toknow over 3 years ago
With Ubuntu 20.04 LTS on my Pi 4 I had to adjust the following:
- New packages
sudo apt install build-essential git ccache libpcre2-dev pkg-config libssl-dev bzip2 wget libavahi-client-dev zlib1g-dev libavcodec-dev libavutil-dev libavformat-dev libswscale-dev libavresample-dev gettext cmake libiconv-hook-dev liburiparser-dev debhelper libcurl4-gnutls-dev python-minimal libdvbcsa-dev python-requests
Package python-minimal is now named python2-minimal
Package python-requests is now named python3-requests
Thus new command issudo apt install build-essential git ccache libpcre2-dev pkg-config libssl-dev bzip2 wget libavahi-client-dev zlib1g-dev libavcodec-dev libavutil-dev libavformat-dev libswscale-dev libavresample-dev gettext cmake libiconv-hook-dev liburiparser-dev debhelper libcurl4-gnutls-dev python2-minimal libdvbcsa-dev python3-requests
As well as said the following needed to be changedsudo apt install dvb-apps libva-dev libva-drm1 libva-x11-1
changed tosudo apt install dvb-apps libva-dev libva-drm2 libva-x11-2
- Afterwards changed to /usr/src/ and cloned the current git repo:
git clone -b release/4.2 https://github.com/tvheadend/tvheadend.git
- next I saved the build script of Russell Tobin (see post above from 2021-04-12) to /usr/src/build.sh (sudo touch build.sh + sudo nano build.sh) and made it executable (sudo chmod 777 build.sh).
- next I removed the four packages he mentioned are not available for 64 bit Ubuntu (libkqueue-dev / fdkacc / libfdk-aac-dev / libfdk-aac1)
- afterwards created the two symbolic links needed
ln -s /usr/bin/python /usr/bin/python3
(as I am running python3)ln -s /opt/vc /usr
- finally kicked of the build script with
sudo ./build.sh
==> FAILED with:
libtool: install: chmod 644 /usr/src/tvheadend/tvheadend/build.linux/ffmpeg/build/ffmpeg/lib/libopus.a libtool: install: ranlib /usr/src/tvheadend/tvheadend/build.linux/ffmpeg/build/ffmpeg/lib/libopus.a libtool: warning: remember to run 'libtool --finish /ffmpeg/lib' make[7]: Leaving directory '/usr/src/tvheadend/tvheadend/build.linux/ffmpeg/opus-1.3.1' make[6]: Leaving directory '/usr/src/tvheadend/tvheadend/build.linux/ffmpeg/opus-1.3.1' make[5]: Leaving directory '/usr/src/tvheadend/tvheadend/build.linux/ffmpeg/opus-1.3.1' make[4]: Leaving directory '/usr/src/tvheadend/tvheadend/build.linux/ffmpeg/opus-1.3.1' make[3]: Leaving directory '/usr/src/tvheadend/tvheadend' make[2]: *** [Makefile:853: /usr/src/tvheadend/tvheadend/build.linux/ffmpeg/build/ffmpeg/lib/libavcodec.a] Error 2 make[2]: Leaving directory '/usr/src/tvheadend/tvheadend' make[1]: *** [debian/rules:15: override_dh_auto_build] Error 2 make[1]: Leaving directory '/usr/src/tvheadend/tvheadend' make: *** [debian/rules:6: build] Error 2 dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 real 8m21.523s user 19m38.323s sys 5m40.348s
afterwards tried the build script of saen acro from the original post.
FAILED with:
make[6]: Entering directory '/usr/src/tvheadend/tvheadend/build.linux/ffmpeg/libtheora-1.2.0alpha1' make[6]: Nothing to be done for 'install-exec-am'. test -z "/ffmpeg/lib/pkgconfig" || /usr/bin/mkdir -p "/usr/src/tvheadend/tvheadend/build.linux/ffmpeg/build/ffmpeg/lib/pkgconfig" /usr/bin/install -c -m 644 theora.pc theoradec.pc theoraenc.pc '/usr/src/tvheadend/tvheadend/build.linux/ffmpeg/build/ffmpeg/lib/pkgconfig' make[6]: Leaving directory '/usr/src/tvheadend/tvheadend/build.linux/ffmpeg/libtheora-1.2.0alpha1' make[5]: Leaving directory '/usr/src/tvheadend/tvheadend/build.linux/ffmpeg/libtheora-1.2.0alpha1' make[4]: Leaving directory '/usr/src/tvheadend/tvheadend/build.linux/ffmpeg/libtheora-1.2.0alpha1' make[3]: Leaving directory '/usr/src/tvheadend/tvheadend' make[2]: *** [Makefile:853: /usr/src/tvheadend/tvheadend/build.linux/ffmpeg/build/ffmpeg/lib/libavcodec.a] Error 2 make[2]: Leaving directory '/usr/src/tvheadend/tvheadend' make[1]: *** [debian/rules:15: override_dh_auto_build] Error 2 make[1]: Leaving directory '/usr/src/tvheadend/tvheadend' make: *** [debian/rules:6: build] Error 2 dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 real 0m43.407s user 0m52.995s sys 0m22.510s
Any ideas?
// Edit
Forgot to append my ./configure output, sorry:
Checking support/features checking for cc execinfo.h ... ok checking for cc -mmmx ... fail checking for cc -msse2 ... fail checking for cc -Wunused-result ... ok checking for cc strlcat ... fail checking for cc strlcpy ... fail checking for cc fdatasync ... ok checking for cc getloadavg ... ok checking for cc atomic32 ... ok checking for cc atomic64 ... ok checking for cc atomic_time_t ... ok checking for cc bitops64 ... ok checking for cc lockowner ... ok checking for cc qsort_r ... ok checking for cc stime ... fail checking for cc gmtoff ... ok checking for cc recvmmsg ... ok checking for cc sendmmsg ... ok checking for cc libiconv ... fail ^ using build-in glibc iconv routines checking for cc libdvben50221 ... ok checking for cc ifnames ... ok checking for py module gzip ... ok checking for pkg-config ... ok checking for xgettext ... ok checking for msgmerge ... ok checking for gzip ... ok checking for bzip2 ... ok checking for pkg openssl ... ok (detected 1.1.1f) checking for cc linux/dvb/version.h ... ok checking for pkg zlib ... ok (detected 1.2.11) checking for pkg liburiparser ... ok (detected 0.9.3) checking for pkg avahi-client ... ok (detected 0.7) checking for cmake ... ok checking for cc -lstdc++ ... ok checking for cc sys/inotify.h ... ok checking for cc inotify_init1 ... ok fetching dvb-scan files ... ok checking for cc epoll_create1 ... ok checking for pkg dbus-1 ... ok (detected 1.12.16) Compiler: Using C compiler: ccache cc Using LD flags: -ldvben50221 -ldvbapi -lucsi Build for arch: aarch64 Binaries: Using PYTHON: python Using GZIP: gzip Using BZIP2: bzip2 Options: pie yes ccdebug no cwc yes capmt yes constcw yes linuxdvb yes satip_server yes satip_client yes hdhomerun_client yes hdhomerun_static yes iptv yes tsfile yes dvbscan yes timeshift yes trace yes imagecache yes avahi yes zlib yes libav yes ffmpeg_static yes libx264 yes libx264_static yes libx265 yes libx265_static yes libvpx yes libvpx_static yes libtheora yes libtheora_static yes libvorbis yes libvorbis_static yes libfdkaac yes libfdkaac_static yes nvenc yes qsv no libmfx_static no inotify yes epoll yes uriparser yes ccache yes tvhcsa yes bundle no pngquant no dvbcsa no dvben50221 yes kqueue no dbus_1 yes android no tsdebug no gtimer_check no slow_memoryinfo no libsystemd_daemon no pcloud_cache yes execinfo yes W_unused_result yes fdatasync yes getloadavg yes atomic32 yes atomic64 yes atomic_time_t yes bitops64 yes lockowner yes qsort_r yes gmtoff yes recvmmsg yes sendmmsg yes libdvben50221 yes ifnames yes py_gzip yes bin_pkg_config yes bin_xgettext yes bin_msgmerge yes bin_gzip yes bin_bzip2 yes ssl yes linuxdvbapi yes upnp yes bin_cmake yes stdcpp yes libogg_static yes inotify_h yes inotify_init1 yes linuxdvb_ca yes epoll_create1 yes mpegts yes mpegts_dvb yes Packages: openssl 1.1.1f zlib 1.2.11 liburiparser 0.9.3 avahi-client 0.7 dbus-1 1.12.16 Installation paths: Prefix: /usr/local Binaries: ${prefix}/bin Libraries: ${prefix}/lib Data files: ${prefix}/share Man pages: ${datadir}/man Final Binary: /usr/src/tvheadend/build.linux/tvheadend Tvheadend Data Directory: /usr/local/share/tvheadend
Ran the build script from OP again, second time it fails with:
make[1]: Leaving directory '/usr/src/tvheadend/tvheadend' debian/rules override_dh_auto_build make[1]: Entering directory '/usr/src/tvheadend/tvheadend' make -j4 make[2]: Entering directory '/usr/src/tvheadend/tvheadend' make -f Makefile.ffmpeg libcacheget make[3]: Entering directory '/usr/src/tvheadend/tvheadend' make[3]: Leaving directory '/usr/src/tvheadend/tvheadend' make -f Makefile.ffmpeg build make[3]: Entering directory '/usr/src/tvheadend/tvheadend' cd /usr/src/tvheadend/tvheadend/build.linux/ffmpeg/libvpx-1.9.0 && \ ASFLAGS="-DENABLE_PIC=1 -DPIC=1" FFMPEG_PREFIX=/usr/src/tvheadend/tvheadend/build.linux/ffmpeg/build/ffmpeg PKG_CONFIG=/usr/src/tvheadend/tvheadend/support/pkg-config.ffmpeg ./configure --prefix=/ffmpeg --enable-static --disable-shared \ --extra-cflags="-fPIE" \ --disable-examples \ --disable-docs \ --disable-unit-tests \ /bin/sh: 2: ./configure: not found make[3]: *** [Makefile.ffmpeg:330: /usr/src/tvheadend/tvheadend/build.linux/ffmpeg/libvpx-1.9.0/.tvh_build] Error 127 make[3]: Leaving directory '/usr/src/tvheadend/tvheadend' make[2]: *** [Makefile:853: /usr/src/tvheadend/tvheadend/build.linux/ffmpeg/build/ffmpeg/lib/libavcodec.a] Error 2 make[2]: Leaving directory '/usr/src/tvheadend/tvheadend' make[1]: *** [debian/rules:15: override_dh_auto_build] Error 2 make[1]: Leaving directory '/usr/src/tvheadend/tvheadend' make: *** [debian/rules:6: build] Error 2 dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 real 0m14.553s user 0m6.670s sys 0m7.325s
RE: [MANUAL] Building .DEB packages on clean Ubuntu or other Debian distros - Added by saen acro over 3 years ago
Build 4.3 aka main not that old version, lot of missing features.
just disable theora codec
--disable-libtheora_static
RE: [MANUAL] Building .DEB packages on clean Ubuntu or other Debian distros - Added by Noone Toknow over 3 years ago
Ok I got it working now!
The script of Russell Tobin really did the magic! He has included all the steps needed to make the symbolic links and which packages are not available for Ubunut 20.04 64bit. I just had to add
--disable-libtheora_static --disable-libtheorato the list of arguments.
Thanks @ both
RE: [MANUAL] Building .DEB packages on clean Ubuntu or other Debian distros - Added by saen acro over 3 years ago
@ Russell Tobin
your bash script is unlogical on x86-64
Its good to be updated depend on arhitecture.
# Cant' find the following for armhf or arm64 #i965-va-driver-shaders
Intel gpu driver its hard to be find on this dev boards. ;)
RE: [MANUAL] Building .DEB packages on clean Ubuntu or other Debian distros - Added by Anonymous over 3 years ago
I don't get tvheadend to run on my pi 4. I get some errors while configuring it.
root@raspberrypi:/usr/src/tvheadend# ./configure --enable-bundle --enable-ffmpeg_static --enable-libffmpeg_static --enable-libx264 --enable-libx265 --enable-vaapi --extra-libs=-lpthread
Checking support/features
checking for cc execinfo.h ... ok
checking for cc -mmmx ... fail
checking for cc -msse2 ... fail
checking for cc -Wunused-result ... ok
checking for cc -fstack-protector ... ok
checking for cc -fstack-protector-strong ... ok
checking for cc -fstack-check ... ok
checking for cc -fPIE ... ok
checking for cc strlcat ... fail
checking for cc strlcpy ... fail
checking for cc fdatasync ... ok
checking for cc getloadavg ... ok
checking for cc atomic32 ... ok
checking for cc atomic64 ... ok
checking for cc atomic_time_t ... ok
checking for cc atomic_ptr ... ok
checking for cc bitops64 ... ok
checking for cc lockowner ... ok
checking for cc qsort_r ... ok
checking for cc stime ... ok
checking for cc gmtoff ... ok
checking for cc recvmmsg ... ok
checking for cc sendmmsg ... ok
checking for cc libiconv ... fail
^ using build-in glibc iconv routines
checking for cc ifnames ... ok
checking for cc cclang_threadsan ... fail
checking for py module gzip ... ok
checking for pkg-config ... ok
checking for xgettext ... ok
checking for msgmerge ... ok
checking for gzip ... ok
checking for bzip2 ... ok
checking for pkg openssl ... ok (detected 1.1.1d)
checking for cc linux/dvb/version.h ... ok
checking for pkg zlib ... ok (detected 1.2.11)
checking for pkg libpcre2-8 ... fail (detected <none>)
checking for pkg libpcre ... ok (detected 8.39)
checking for pkg liburiparser ... ok (detected 0.9.1)
checking for pkg avahi-client ... ok (detected 0.7)
checking for cmake ... ok
checking for cc -lstdc++ ... ok
checking for pkg libva >=0.38.0 ... ok (detected 1.4.0)
checking for pkg libva-drm >=0.38.0 ... ok (detected 1.4.0)
checking for cc sys/inotify.h ... ok
checking for cc inotify_init1 ... ok
checking for cc dvbcsa/dvbcsa.h ... ok
checking for cc -ldvbcsa ... ok
fetching dvb-scan files ... ok
checking for cc epoll_create1 ... ok
checking for pkg dbus-1 ... ok (detected 1.12.20)
Compiler:
Using C compiler: cc
Using LD flags: -ldvbcsa
Build for arch: arm
Binaries:
Using PYTHON: python
Using GZIP: gzip
Using BZIP2: bzip2
Options:
pie yes
ccdebug no
cardclient yes
cwc yes
cccam yes
capmt yes
constcw yes
linuxdvb yes
satip_server yes
satip_client yes
hdhomerun_client yes
hdhomerun_static yes
iptv yes
tsfile yes
dvbscan yes
timeshift yes
trace yes
avahi yes
zlib yes
libav yes
ffmpeg_static yes
libx264 yes
libx264_static yes
libx265 yes
libx265_static yes
libvpx yes
libvpx_static yes
libtheora yes
libtheora_static yes
libvorbis yes
libvorbis_static yes
libfdkaac no
libfdkaac_static no
libopus yes
libopus_static yes
nvenc no
vaapi yes
mmal no
omx no
inotify yes
epoll yes
pcre yes
pcre2 no
uriparser yes
ccache no
tvhcsa yes
bundle yes
pngquant no
kqueue no
dbus_1 yes
android no
gtimer_check no
slow_memoryinfo no
libsystemd_daemon no
pcloud_cache yes
ddci yes
cclang_threadsan no
gperftools no
execinfo yes
W_unused_result yes
f_stack_protector yes
f_stack_protector_strong yes
f_stack_check yes
f_PIE yes
fdatasync yes
getloadavg yes
atomic32 yes
atomic64 yes
atomic_time_t yes
atomic_ptr yes
bitops64 yes
lockowner yes
qsort_r yes
stime yes
gmtoff yes
recvmmsg yes
sendmmsg yes
ifnames yes
py_gzip yes
bin_pkg_config yes
bin_xgettext yes
bin_msgmerge yes
bin_gzip yes
bin_bzip2 yes
ssl yes
linuxdvbapi yes
linuxdvb_ca yes
upnp yes
bin_cmake yes
stdcpp yes
libogg_static yes
hwaccels yes
inotify_h yes
inotify_init1 yes
dvbcsa yes
epoll_create1 yes
mpegts yes
mpegts_dvb yes
Packages:
openssl 1.1.1d
zlib 1.2.11
libpcre 8.39
liburiparser 0.9.1
avahi-client 0.7
libva 1.4.0
libva-drm 1.4.0
dbus-1 1.12.20
Installation paths:
Prefix: /usr/local
Binaries: ${prefix}/bin
Libraries: ${prefix}/lib
Data files: ${prefix}/share
Man pages: ${datadir}/man
Final Binary:
/usr/src/tvheadend/build.linux/tvheadend
Tvheadend Data Directory:
/usr/local/share/tvheadend
Unfortunately I have no plan what to do.
RE: [MANUAL] Building .DEB packages on clean Ubuntu or other Debian distros - Added by saen acro over 3 years ago
You configuration PASS need to make package
make -j$(nproc)
RE: [MANUAL] Building .DEB packages on clean Ubuntu or other Debian distros - Added by Kae TuuN almost 3 years ago
Quick Guide to Autobuild.sh on a fresh installed Ubuntu 20.04 headless Server (Focal Fossa)
# become root
sudo -s
# install all needed dependencies
apt install build-essential bzip2 ccache cmake debhelper gettext git libavahi-client-dev libavcodec-dev libavformat-dev libavresample-dev libavutil-dev libcurl4-gnutls-dev libdvbcsa-dev libiconv-hook-dev libpcre2-dev libssl-dev libswscale-dev liburiparser-dev pkg-config python2-minimal wget zlib1g-dev
# Install optional dependencies
# Needed for Video Accelaration (VA)
apt install libva-dev libva-drm2 libva-x11-2
# Old Intel Graphics:
apt install i965-va-driver-shaders
# Actual Intel Graphics:
apt install intel-media-va-driver-non-free
# AMD Graphics:
apt install mesa-va-drivers
# nvidia:
# I don't really now. I think there propritary Driver should do the work
# DVB-CI support (Just needed, if you want to use a CI Card)
apt install dvb-apps
#Just to make sure everything works as intended
reboot
# login
mkdir git && cd git
git clone https://github.com/tvheadend/tvheadend
cd tvheadend
sudo -s
./Autobuild.sh -t focal-amd64
# after building the .DEB Package should belocated ~/git/<PackageName>.deb
Greetings KaeTuuN
RE: [MANUAL] Building .DEB packages on clean Ubuntu or other Debian distros - Added by saen acro almost 3 years ago
./Autobuild.sh -t focal-amd64
this part is useless
-t focal-amd64
there is few scriprs with make this if read all post's.
in your script zero GPU support, no matter instaled dependencies.
also contain useless lines
example
mkdir git && cd git
git clone https://github.com/tvheadend/tvheadend
cd tvheadend
why not just
git clone https://github.com/tvheadend/tvheadend git/tvheadend
cd ./git/tvheadend
I agree that there is need systematized build script,
with will solve dependencies and ask about enabled/disabled features.
no matter OS architecture.
RE: [MANUAL] Building .DEB packages on clean Ubuntu or other Debian distros - Added by Sean Warner about 2 years ago
Hello,
I am trying to build tvheadend on a Pi 4 running Ubuntu server 22.04 (Jammy) 64-bit arm64.
I am following the build script of Russel Tobin above... https://tvheadend.org/boards/4/topics/24116?r=44265#message-44265
My system details:
ubuntu@ubuntu:~/build/tvheadend/master$ uname -a Linux ubuntu 5.15.0-1015-raspi #17-Ubuntu SMP PREEMPT Mon Sep 12 13:14:51 UTC 2022 aarch64 aarch64 aarch64 GNU/Linux ubuntu@ubuntu:~/build/tvheadend/master$ cat /etc/lsb-release DISTRIB_ID=Ubuntu DISTRIB_RELEASE=22.04 DISTRIB_CODENAME=jammy DISTRIB_DESCRIPTION="Ubuntu 22.04.1 LTS"
I saved the build script in /usr/local/src/buildTVH.sh
I also made the symlinks:
sudo -i ln -s /usr /opt/vc ln -s /usr/bin/python3 /usr/bin/python
And additions to /boot/firmware/config.txt
gpu_mem=128 [pi4] dtoverlay=vc4-fkms-v3d,cma-128 max_framebuffers=2
Then I run it like this:
cd /usr/local/src ./buildTVH.sh
This is the build script I am using... it's Russel Tobins script from above.
So far the only modification I made was @saen acros advice to add in:
--disable-libtheora_static --disable-libtheora
##!/bin/bash # # Name: build.sh # # Description: Build script for tvheadend on Ubuntu 20.04 32bit on Raspberry 4 with 4Gb or 8Gb # Note: Only a couple of miniro changes as noted below to make this build on 64bit # Usage: # sudo -i # ln -s /usr /opt/vc # ln -s /usr/bin/python2 /usr/bin/python # cd /usr/local/src # ./build.sh # # Note: the "ln" about is because some raspberry userspace packages are compiled from source during build, # the files are installed in their "proper" locations in /usr. # But some third-party scripts expect e.g. /opt/vc/bin/vcgencmd; # Thus the hack # ln -s /usr /opt/vc # # # Also the following needs to be put into /boot/firmware/config.txt # #gpu_mem=128 #[pi4] #dtoverlay=vc4-fkms-v3d,cma-128 #max_framebuffers=2 BASE=$(dirname "$0") if [ ! -x /usr/bin/python ] ; then echo "/usr/bin/python must exist for this to compile" exit 1 fi if [ ! -d /opt/vc ] ; then echo "/opt/vc must exist and be linked to /usr for tvheadend to compile" exit 1 fi ( if [ -d "$BASE/tvheadend" ]; then cd "$BASE/tvheadend" make distclean git pull else apt-get update apt install -y \ build-essential \ cmake \ pkg-config \ git \ ccache \ bzip2 \ wget \ gettext \ debhelper \ python3 \ python3-dev \ python3-pip \ python3-rpi.gpio \ python2-minimal \ python-rpi.gpio \ dvb-apps \ libraspberrypi-dev \ libraspberrypi-bin \ libraspberrypi0 \ libssl-dev \ libavahi-client-dev \ zlib1g-dev \ libavcodec-dev \ libavcodec-extra \ libavfilter-dev \ libavfilter-extra \ libavformat-dev \ libavutil-dev \ fdkacc \ libfdk-aac-dev \ libfdk-aac1 \ libswscale-dev \ libdvbcsa-dev \ libavresample-dev \ libiconv-hook-dev \ libkqueue-dev \ liburiparser-dev \ libcurl4-gnutls-dev \ libpcre2-dev \ libpcre3-dev \ libva-dev \ libva-drm2 \ libva-x11-2 \ libsystemd-dev \ libomxil-bellagio-dev \ libprotobuf-dev \ libtcmalloc-minimal4 \ libgoogle-perftools-dev # The following my not existing Ubuntu 20.04 64bit (arm64) remove from above as required # libkqueue-dev # fdkacc # libfdk-aac-dev # libfdk-aac1 # Cant' find the following for armhf or arm64 #i965-va-driver-shaders # # Install rpi-userland libraries / binaries # snap install rpi-userland --edge cd "$BASE" git clone -v https://github.com/tvheadend/tvheadend.git tvheadend # --depth=5 (need version tag workaround else 0.0.0 version) #git clone -b -v release/4.2 https://github.com/tvheadend/tvheadend.git cd "$BASE/tvheadend" fi echo "AUTOBUILD_CONFIGURE_EXTRA=\"\${AUTOBUILD_CONFIGURE_EXTRA:-} --arch=armhf\"" > Autobuild/focal-armhf.sh echo "DEBDIST=focal" >> Autobuild/focal-armhf.sh echo "source Autobuild/debian.sh" >> Autobuild/focal-armhf.sh echo "AUTOBUILD_CONFIGURE_EXTRA=\"\${AUTOBUILD_CONFIGURE_EXTRA:-} --arch=arm64\"" > Autobuild/focal-arm64.sh echo "DEBDIST=focal" >> Autobuild/focal-arm64.sh echo "source Autobuild/debian.sh" >> Autobuild/focal-arm64.sh time ( AUTOBUILD_CONFIGURE_EXTRA="" AUTOBUILD_CONFIGURE_EXTRA="$AUTOBUILD_CONFIGURE_EXTRA --disable-android --enable-pie --enable-avahi --enable-libsystemd_daemon --disable-bintray_cache --enable-libav --enable-libopus --enable-libtheora --enable-libvorbis --enable-libfdkaac --enable-omx --enable-mmal --enable-vaapi" AUTOBUILD_CONFIGURE_EXTRA="$AUTOBUILD_CONFIGURE_EXTRA --disable-libvpx_static --disable-libvpx --disable-libtheora_static --disable-libtheora" AUTOBUILD_CONFIGURE_EXTRA="$AUTOBUILD_CONFIGURE_EXTRA --enable-gtimer_check --enable-slow_memoryinfo --enable-cclang_threadsan --enable-gperftools --enable-ccdebug" export AUTOBUILD_CONFIGURE_EXTRA ./Autobuild.sh -j$(nproc) -t focal-armhf ) ) 2>&1 | tee "$BASE/build.log"
The build fails and this is the output I get...
root@ubuntu:/usr/local/src# ./buildTVH.sh Makefile:755: /support/.mk: No such file or directory make: *** No rule to make target '/support/.mk'. Stop. Already up to date. On branch master Your branch is up to date with 'origin/master'. Untracked files: (use "git add <file>..." to include in what will be committed) Autobuild/focal-arm64.sh Autobuild/focal-armhf.sh nothing added to commit but untracked files present (use "git add" to track) dpkg-buildpackage: info: source package tvheadend dpkg-buildpackage: info: source version 4.3-2034~g8f8877430~focal dpkg-buildpackage: info: source distribution focal dpkg-buildpackage: info: source changed by Andreas Öman <[email protected]> dpkg-source --before-build . dpkg-buildpackage: info: host architecture arm64 debian/rules clean dh clean --with-systemd dh: warning: Compatibility levels before 10 are deprecated (level 7 in use) dh_clean -O--with-systemd rm -f debian/debhelper-build-stamp rm -rf debian/.debhelper/ dh_clean: warning: Compatibility levels before 10 are deprecated (level 7 in use) rm -f debian/tvheadend-dbg.debhelper.log debian/tvheadend.debhelper.log rm -f -- debian/tvheadend.substvars debian/tvheadend-dbg.substvars debian/files rm -fr -- debian/tvheadend/ debian/tmp/ debian/tvheadend-dbg/ find . \( \( \ \( -path .\*/.git -o -path .\*/.svn -o -path .\*/.bzr -o -path .\*/.hg -o -path .\*/CVS -o -path .\*/.pc -o -path .\*/_darcs \) -prune -o -type f -a \ \( -name '#*#' -o -name '.*~' -o -name '*~' -o -name DEADJOE \ -o -name '*.orig' -o -name '*.rej' -o -name '*.bak' \ -o -name '.*.orig' -o -name .*.rej -o -name '.SUMS' \ -o -name TAGS -o \( -path '*/.deps/*' -a -name '*.P' \) \ \) -exec rm -f {} + \) -o \ \( -type d -a -name autom4te.cache -prune -exec rm -rf {} + \) \) debian/rules build dh build --with-systemd dh: warning: Compatibility levels before 10 are deprecated (level 7 in use) dh_update_autotools_config -O--with-systemd debian/rules override_dh_auto_configure make[1]: Entering directory '/usr/local/src/tvheadend' dh_auto_configure -- --disable-android --enable-pie --enable-avahi --enable-libsystemd_daemon --disable-bintray_cache --enable-libav --enable-libopus --enable-libtheora --enable-libvorbis --enable-libfdkaac --enable-omx --enable-mmal --enable-vaapi --disable-libvpx_static --disable-libvpx --disable-libtheora_static --disable-libtheora --enable-gtimer_check --enable-slow_memoryinfo --enable-cclang_threadsan --enable-gperftools --enable-ccdebug --arch=arm64 --jobs=4 dh_auto_configure: warning: Compatibility levels before 10 are deprecated (level 7 in use) ./configure --build=aarch64-linux-gnu --prefix=/usr --includedir=\${prefix}/include --mandir=\${prefix}/share/man --infodir=\${prefix}/share/info --sysconfdir=/etc --localstatedir=/var --disable-option-checking --disable-silent-rules --libexecdir=\${prefix}/lib/tvheadend --disable-maintainer-mode --disable-dependency-tracking --disable-android --enable-pie --enable-avahi --enable-libsystemd_daemon --disable-bintray_cache --enable-libav --enable-libopus --enable-libtheora --enable-libvorbis --enable-libfdkaac --enable-omx --enable-mmal --enable-vaapi --disable-libvpx_static --disable-libvpx --disable-libtheora_static --disable-libtheora --enable-gtimer_check --enable-slow_memoryinfo --enable-cclang_threadsan --enable-gperftools --enable-ccdebug --arch=arm64 --jobs=4 Checking support/features checking for cc execinfo.h ... ok checking for cc -mmmx ... fail checking for cc -msse2 ... fail checking for cc -Wunused-result ... ok checking for cc -fstack-protector ... ok checking for cc -fstack-protector-strong ... ok checking for cc -fstack-check ... ok checking for cc -fPIE ... ok checking for cc strlcat ... fail checking for cc strlcpy ... fail checking for cc fdatasync ... ok checking for cc getloadavg ... ok checking for cc atomic32 ... ok checking for cc atomic64 ... ok checking for cc atomic_time_t ... ok checking for cc atomic_ptr ... ok checking for cc bitops64 ... ok checking for cc lockowner ... ok checking for cc qsort_r ... ok checking for cc stime ... fail checking for cc gmtoff ... ok checking for cc recvmmsg ... ok checking for cc sendmmsg ... ok checking for cc libiconv ... fail ^ using build-in glibc iconv routines checking for cc ifnames ... ok checking for cc cclang_threadsan ... fail checking for py module gzip ... ok checking for pkg-config ... ok checking for xgettext ... ok checking for msgmerge ... ok checking for gzip ... ok checking for bzip2 ... ok checking for pkg openssl ... ok (detected 3.0.2) checking for cc linux/dvb/version.h ... ok checking for pkg zlib ... ok (detected 1.2.11) checking for pkg libpcre2-8 ... ok (detected 10.39) checking for pkg liburiparser ... ok (detected 0.9.6) checking for pkg avahi-client ... ok (detected 0.8) checking for cmake ... ok checking for cc -lstdc++ ... ok checking for cc bcm_host.h ... fail checking for cc OMX_Core.h ... ok checking for pkg libva >=0.38.0 ... fail (detected <none>) ERROR: vaapi (Video Acceleration (VA) API for Linux) not found dh_auto_configure: error: ./configure --build=aarch64-linux-gnu --prefix=/usr --includedir=\${prefix}/include --mandir=\${prefix}/share/man --infodir=\${prefix}/share/info --sysconfdir=/etc --localstatedir=/var --disable-option-checking --disable-silent-rules --libexecdir=\${prefix}/lib/tvheadend --disable-maintainer-mode --disable-dependency-tracking --disable-android --enable-pie --enable-avahi --enable-libsystemd_daemon --disable-bintray_cache --enable-libav --enable-libopus --enable-libtheora --enable-libvorbis --enable-libfdkaac --enable-omx --enable-mmal --enable-vaapi --disable-libvpx_static --disable-libvpx --disable-libtheora_static --disable-libtheora --enable-gtimer_check --enable-slow_memoryinfo --enable-cclang_threadsan --enable-gperftools --enable-ccdebug --arch=arm64 --jobs=4 returned exit code 1 make[1]: *** [debian/rules:12: override_dh_auto_configure] Error 2 make[1]: Leaving directory '/usr/local/src/tvheadend' make: *** [debian/rules:6: build] Error 2 dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 real 0m9.461s user 0m4.974s sys 0m4.806s
Can I please get some help about what I am doing wrong?
@saen acro above mentioned:
You configuration PASS need to make package make -j$(nproc)
What's that about, do I need it and where do I put that?
What do these errors mean?
make: *** No rule to make target '/support/.mk'. Stop. dh: warning: Compatibility levels before 10 are deprecated (level 7 in use)
For this error:
ERROR: vaapi (Video Acceleration (VA) API for Linux) not found
I tried..
sudo apt install dvb-apps libva-dev libva-drm1 libva-x11-1
It didn't find: libva-drm1 libva-x11-1
So I tried...
sudo apt install dvb-apps libva-drm2 libva-x11-2
That installed those three.
But I still get the same error.
For ARM OpenMax support I also did:
sudo apt install libomxil-bellagio-dev
And have included: --enable-omx in the build script.
Probably I am doing other things wrong too.
Any advice much appreciated.
Cheers,
Flex
RE: [MANUAL] Building .DEB packages on clean Ubuntu or other Debian distros - Added by saen acro about 2 years ago
no need to do nothing with python and simlink
just add
--python=python3
VA (intel GPU) is not available on ARM platform
--diable-libva
Use OpenMAX if want to transcode with hardware.
https://tvheadend.org/boards/4/topics/24116?r=48005#ARM-OpenMax-support
RE: [MANUAL] Building .DEB packages on clean Ubuntu or other Debian distros - Added by Sean Warner about 2 years ago
Thanks a lot @saen acro.
Where am I supposed to put..
--python=python3
Do you mean --disable-libav ? I don't see an option for --disable-libva .
I think I am almost there now but right at the end (I think) I am getting this output:
... ..... ....... Markdown: docs/wizard/network.md Markdown: docs/wizard/status.md CC src/docs.o CC tvheadend /usr/bin/ld: cannot find -lprofiler: No such file or directory /usr/bin/ld: cannot find -ltcmalloc: No such file or directory collect2: error: ld returned 1 exit status make[3]: *** [Makefile:712: /usr/local/src/tvheadend/build.linux/tvheadend] Error 1 make[3]: Leaving directory '/usr/local/src/tvheadend' make[2]: *** [Makefile:110: ffmpeg_all] Error 2 make[2]: Leaving directory '/usr/local/src/tvheadend' make[1]: *** [debian/rules:15: override_dh_auto_build] Error 2 make[1]: Leaving directory '/usr/local/src/tvheadend' make: *** [debian/rules:6: build] Error 2 dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 real 14m7.932s user 36m1.737s sys 8m52.513s
Once again, I don't really know what I'm doing but after some googling I tried searching for -lprofiler and -ltcmalloc:
ubuntu@ubuntu:~$ ls -l /usr/lib | grep profiler ubuntu@ubuntu:~$ ls -l /usr/lib | grep malloc ubuntu@ubuntu:~$ ls -l /opt/vc/lib | grep profiler ubuntu@ubuntu:~$ ls -l /opt/vc/lib | grep malloc ubuntu@ubuntu:~$
Are these rpi-userland things? I do run this command in the build script:
snap install rpi-userland --edge
But I think the rpi-userland stuff is not getting installed with snap:
ubuntu@ubuntu:~$ sudo snap install rpi-userland --edge error: snap "rpi-userland" is not available on edge for this architecture (arm64) but exists on other architectures (amd64, armhf).
I tried building an rpi-userland using this script but it didn't work on my system:
https://gist.github.com/satmandu/c462ab301cbe09bd6e7cf4db7f626727
Looks like there is a raspberrypi-userland source package in Jammy here...
https://launchpad.net/ubuntu/jammy/+source/raspberrypi-userland
But I don't know what to do with it??
Is there another way to install the rpi-userland things? I'll keep searching anyway.
Any help much appreciated!
Flex
RE: [MANUAL] Building .DEB packages on clean Ubuntu or other Debian distros - Added by saen acro about 2 years ago
./configure --help
--disable-libav
it is typo error
Use build script from first post
/usr/bin/ld: cannot find -lprofiler: No such file or directory /usr/bin/ld: cannot find -ltcmalloc: No such file or directory
install gperftools libgoogle-perftools-dev