I feel like Alice in Wonderland .... still not working ..
sudo apt install build-essential git 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 -y
sudo apt install dvb-apps libva-dev libva-drm1 libva-x11-1 -y
sudo apt install curl -y
git clone -b release/3.4 https://github.com/tvheadend/tvheadend.git
cd tvheadend
$ ./configure --nowerror
Checking support/features
checking for cc execinfo.h ... ok
checking for cc -mmmx ... ok
checking for cc -msse2 ... ok
checking for cc getloadavg ... ok
checking for cc atomic64 ... ok
checking for py module gzip ... ok
checking for bzip2 ... ok
checking for pkg openssl ... ok
checking for pkg zlib ... ok
checking for pkg avahi-client ... ok
checking for cc sys/inotify.h ... ok
checking for pkg libcurl ... ok
fetching dvb-scan files ... ok
Compiler:
Using C compiler: cc
Build for arch: x86_64
Binaries:
Using PYTHON: python
Options:
cwc yes
v4l yes
linuxdvb yes
dvbscan yes
timeshift yes
imagecache yes
avahi yes
zlib yes
libav no
inotify yes
bundle no
dvbcsa no
execinfo yes
mmx yes
sse2 yes
getloadavg yes
atomic64 yes
py_gzip yes
bin_bzip2 yes
ssl yes
inotify_h yes
Packages:
openssl 1.1.0f
zlib 1.2.8
avahi-client 0.6.32
libcurl 7.52.1
Installation paths:
Prefix: /usr/local
Binaries: ${prefix}/bin
Libraries: ${prefix}/lib
Data files: ${prefix}/share
Man pages: ${datadir}/man
Final Binary:
/home/0dBi/git/tvheadend/build.linux/tvheadend
Tvheadend Data Directory:
/usr/local/share/tvheadend
~/git/tvheadend$ make -k
CC build.linux/src/main.o
CC build.linux/src/utils.o
CC build.linux/src/wrappers.o
CC build.linux/src/access.o
CC build.linux/src/dtable.o
CC build.linux/src/tcp.o
CC build.linux/src/http.o
CC build.linux/src/notify.o
CC build.linux/src/epg.o
CC build.linux/src/epgdb.o
CC build.linux/src/epggrab.o
CC build.linux/src/spawn.o
CC build.linux/src/packet.o
CC build.linux/src/streaming.o
CC build.linux/src/teletext.o
CC build.linux/src/channels.o
CC build.linux/src/subscriptions.o
CC build.linux/src/service.o
CC build.linux/src/psi.o
CC build.linux/src/parsers.o
CC build.linux/src/parser_h264.o
CC build.linux/src/parser_latm.o
CC build.linux/src/tsdemux.o
CC build.linux/src/htsp_server.o
CC build.linux/src/serviceprobe.o
CC build.linux/src/htsmsg.o
/home/0dBi/git/tvheadend/src/htsmsg.c: In function ‘htsmsg_print0’:
/home/0dBi/git/tvheadend/src/htsmsg.c:577:7: error: this ‘for’ clause does not guard... [-Werror=misleading-indentation]
for(i = 0; i < indent; i++) printf("\t"); printf("}\n");
^~~
/home/0dBi/git/tvheadend/src/htsmsg.c:577:49: note: ...this statement, but the latter is misleadingly indented as if it is guarded by the ‘for’
for(i = 0; i < indent; i++) printf("\t"); printf("}\n");
^~~~~~
/home/0dBi/git/tvheadend/src/htsmsg.c:583:7: error: this ‘for’ clause does not guard... [-Werror=misleading-indentation]
for(i = 0; i < indent; i++) printf("\t"); printf("}\n");
^~~
/home/0dBi/git/tvheadend/src/htsmsg.c:583:49: note: ...this statement, but the latter is misleadingly indented as if it is guarded by the ‘for’
for(i = 0; i < indent; i++) printf("\t"); printf("}\n");
^~~~~~
cc1: all warnings being treated as errors
Makefile:254: recipe for target 'build.linux/src/htsmsg.o' failed
make: *** [build.linux/src/htsmsg.o] Error 1
CC build.linux/src/htsmsg_binary.o
CC build.linux/src/htsmsg_json.o
CC build.linux/src/htsmsg_xml.o
CC build.linux/src/misc/dbl.o
CC build.linux/src/misc/json.o
CC build.linux/src/settings.o
CC build.linux/src/htsbuf.o
CC build.linux/src/trap.o
CC build.linux/src/avg.o
CC build.linux/src/htsstr.o
CC build.linux/src/rawtsinput.o
CC build.linux/src/iptv_input.o
CC build.linux/src/avc.o
CC build.linux/src/huffman.o
CC build.linux/src/filebundle.o
CC build.linux/src/config2.o
CC build.linux/src/lang_codes.o
CC build.linux/src/lang_str.o
CC build.linux/src/imagecache.o
CC build.linux/src/tvhtime.o
CC build.linux/src/epggrab/module.o
CC build.linux/src/epggrab/channel.o
CC build.linux/src/epggrab/module/pyepg.o
CC build.linux/src/epggrab/module/xmltv.o
CC build.linux/src/plumbing/tsfix.o
CC build.linux/src/plumbing/globalheaders.o
CC build.linux/src/dvr/dvr_db.o
CC build.linux/src/dvr/dvr_rec.o
CC build.linux/src/dvr/dvr_autorec.o
CC build.linux/src/webui/webui.o
CC build.linux/src/webui/comet.o
CC build.linux/src/webui/extjs.o
CC build.linux/src/webui/simpleui.o
CC build.linux/src/webui/statedump.o
CC build.linux/src/webui/html.o
CC build.linux/src/muxer.o
CC build.linux/src/muxer/muxer_pass.o
CC build.linux/src/muxer/muxer_tvh.o
CC build.linux/src/muxer/tvh/ebml.o
CC build.linux/src/muxer/tvh/mkmux.o
CC build.linux/src/epggrab/otamux.o
CC build.linux/src/epggrab/module/eit.o
/home/0dBi/git/tvheadend/src/epggrab/module/eit.c: In function ‘_eit_get_string_with_len’:
/home/0dBi/git/tvheadend/src/epggrab/module/eit.c:215:3: error: this ‘else’ clause does not guard... [-Werror=misleading-indentation]
else
^~~~
/home/0dBi/git/tvheadend/src/epggrab/module/eit.c:217:5: note: ...this statement, but the latter is misleadingly indented as if it is guarded by the ‘else’
if (m && m->enabled) cptr = _eit_freesat_conv;
^~
cc1: all warnings being treated as errors
Makefile:254: recipe for target 'build.linux/src/epggrab/module/eit.o' failed
make: *** [build.linux/src/epggrab/module/eit.o] Error 1
CC build.linux/src/epggrab/module/opentv.o
CC build.linux/src/epggrab/support/freesat_huffman.o
CC build.linux/src/timeshift.o
CC build.linux/src/timeshift/timeshift_filemgr.o
CC build.linux/src/timeshift/timeshift_writer.o
CC build.linux/src/timeshift/timeshift_reader.o
CC build.linux/src/dvb/dvb.o
CC build.linux/src/dvb/dvb_support.o
CC build.linux/src/dvb/dvb_charset.o
CC build.linux/src/dvb/dvb_fe.o
CC build.linux/src/dvb/dvb_tables.o
CC build.linux/src/dvb/diseqc.o
CC build.linux/src/dvb/dvb_adapter.o
CC build.linux/src/dvb/dvb_multiplex.o
CC build.linux/src/dvb/dvb_service.o
CC build.linux/src/dvb/dvb_preconf.o
CC build.linux/src/dvb/dvb_satconf.o
CC build.linux/src/dvb/dvb_input_filtered.o
CC build.linux/src/dvb/dvb_input_raw.o
CC build.linux/src/webui/extjs_dvb.o
CC build.linux/src/muxes.o
CC build.linux/src/dvr/dvr_inotify.o
CC build.linux/src/v4l.o
CC build.linux/src/webui/extjs_v4l.o
CC build.linux/src/avahi.o
CC build.linux/src/cwc.o
CC build.linux/src/capmt.o
CC build.linux/src/ffdecsa/ffdecsa_interface.o
CC build.linux/src/ffdecsa/ffdecsa_int.o
CC build.linux/src/ffdecsa/ffdecsa_mmx.o
CC build.linux/src/ffdecsa/ffdecsa_sse2.o
make: Target 'all' not remade because of errors.
so let's try something else:
nano Makefile
CTRL+W: -Werror
CFLAGS += -Wall -Werror -Wwrite-strings -Wno-deprecated-declarations
[THIS IS THE ONLY OCCURRENCE]
So I have removed the "-Werror" and Bingo it worked :) THANK YOU.
CFLAGS += -Wall -Wwrite-strings -Wno-deprecated-declarations
Back to building *.deb packages as this would install hopefully all the auto start scripts,
so when restarted this headless PC, I would not have to run "nohup ~/Install/tvheadend-3.4/build.linux/tvheadend -C --http_port 9981 &"
cd ~git/tvheadend/
nano Makefile
CFLAGS += -Wall -Wwrite-strings -Wno-deprecated-declarations
$ ./Autobuild.sh
target (-t) not specified
so I tried viewing the script:
$ cat Autobuild.sh
#!/bin/bash
#
# Entry point for the Doozer autobuild system
#
# (c) Andreas Öman 2011. All rights reserved.
#
#
set -eu
BUILD_API_VERSION=3
EXTRA_BUILD_NAME=""
JARGS=""
JOBSARGS=""
TARGET=""
RELEASE="--release"
WORKINGDIR="/var/tmp/showtime-autobuild"
OP="build"
while getopts "vht:e:j:w:o:c:" OPTION
do
case $OPTION in
v)
echo $BUILD_API_VERSION
exit 0
;;
h)
echo "This script is intended to be used by the autobuild system only"
exit 0
;;
t)
TARGET="$OPTARG"
;;
e)
EXTRA_BUILD_NAME="$OPTARG"
;;
j)
JOBSARGS="--jobs=$OPTARG"
JARGS="-j$OPTARG"
;;
w)
WORKINGDIR="$OPTARG"
;;
o)
OP="$OPTARG"
;;
esac
done
if [[ -z $TARGET ]]; then
echo "target (-t) not specified"
exit 1
fi
#
# $1 = local file path
# $2 = type
# $3 = content-type
# $4 = filename
#
artifact() {
echo "doozer-artifact:$PWD/$1:$2:$3:$4"
}
versioned_artifact() {
echo "doozer-versioned-artifact:$PWD/$1:$2:$3:$4"
}
if [ -f Autobuild/${TARGET}.sh ]; then
source Autobuild/${TARGET}.sh
else
echo "target $TARGET not supported"
exit 1
fi
but noting obvious over here ..