Bug #2841
src from today (13.05.2015) doesn't build under Debian Jessie
0%
Description
root@tvh:~/tvheadend# git pull
remote: Counting objects: 149, done.
remote: Compressing objects: 100% (134/134), done.
remote: Total 149 (delta 70), reused 8 (delta 8), pack-reused 6
Empfange Objekte: 100% (149/149), 958.67 KiB | 943.00 KiB/s, Fertig.
Löse Unterschiede auf: 100% (70/70), Fertig.
Von https://github.com/tvheadend/tvheadend
c05806c..3162615 master > origin/master
Aktualisiere c05806c..3162615
Fast-forward
.doozer.json | 12
.gitignore | 8 +
Makefile | 12 +++++++++++++++++++++++++++++
Makefile.ffmpeg | 2 +
Makefile.webui | 221 +
src/api/api_idnode.c | 2
src/descrambler.h | 2 +++
src/descrambler/capmt.c | 33 +
src/descrambler/cwc.c | 7
src/descrambler/descrambler.c | 20 +-
src/dvr/dvr_config.c | 68 +++++----
src/dvr/dvr_db.c | 18 -
src/dvr/dvr_inotify.c | 2 +
src/dvr/dvr_rec.c | 2 +
src/htsp_server.c | 2 +
src/input/mpegts/iptv/iptv.c | 2 +
src/input/mpegts/iptv/iptv_rtsp.c | 14 +
src/input/mpegts/linuxdvb/linuxdvb_adapter.c | 77 ++++++----
src/input/mpegts/linuxdvb/linuxdvb_frontend.c | 2
src/input/mpegts/mpegts_input.c | 19 +
src/input/mpegts/mpegts_service.c | 4
src/input/mpegts/satip/satip_frontend.c | 2 +
src/main.c | 2 +++++++-----------
src/webui/extjs.c | 146 +
src/webui/static/app/config.js | 6
src/webui/static/app/cteditor.js | 2 +
src/webui/static/app/epg.js | 16 +-
src/webui/static/app/epggrab.js | 2 +
src/webui/static/app/ext.css | 4 ++--
src/webui/static/app/extensions.js | 44 +
src/webui/static/app/namespace.js | 1
src/webui/static/app/status.js | 14 ++-
src/webui/static/app/tvheadend.js | 3 -
src/webui/webui.c | 30 +
src/webui/webui.h | 4
support/css.py | 75 +++++++++
vendor/ext-3.4.1/examples/ux/gridfilters/css/GridFilters.css | 4
vendor/yui-compressor/yuicompressor-2.4.8.jar | Bin 0 > 787524 bytes)
38 files changed, 627 insertions(), 257 deletions(
create mode 100644 Makefile.webui
create mode 100644 src/webui/static/app/namespace.js
create mode 100755 support/css.py
create mode 100644 vendor/yui-compressor/yuicompressor-2.4.8.jar
root@tvh:~/tvheadend# ./Autobuild.sh
dpkg-buildpackage: Quellpaket tvheadend
dpkg-buildpackage: Quellversion 3.9.2836~g3162615
dpkg-buildpackage: Quelldistribution unstable
dpkg-buildpackage: Quellen geändert durch Andreas Öman <[email protected]>
dpkg-buildpackage: Host-Architektur amd64
dpkg-source --before-build tvheadend
debian/rules clean
dh clean
dh_testdir
dh_clean
rm f debian/tvheadend.substvars
rm -f debian/tvheadend.*.debhelper
rm -rf debian/tvheadend/
rm -f debian/tvheadend-dbg.substvars
rm -f debian/tvheadend-dbg.*.debhelper
rm -rf debian/tvheadend-dbg/
rm -f debian/*.debhelper.log
rm -f debian/files
find . \( \( \
\( -path .\*/.git -o -path .\*/.svn -o -path .\*/.bzr -o -path .\*/.hg -o -path .\*/CVS \) -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
dh_testdir
debian/rules override_dh_auto_configure
make1: Entering directory '/root/tvheadend'
dh_auto_configure -
./configure --build=x86_64-linux-gnu --prefix=/usr --includedir=\${prefix}/include --mandir=\${prefix}/share/man --infodir=\${prefix}/share/info --sysconfdir=/etc --localstatedir=/var --disable-silent-rules --libexecdir=\${prefix}/lib/tvheadend --disable-maintainer-mode --disable-dependency-tracking
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 cc lockowner ... ok
checking for cc qsort_r ... ok
checking for cc stime ... ok
checking for cc recvmmsg ... ok
checking for cc sendmmsg ... ok
checking for cc libiconv ... fail
checking for cc libdvben50221 ... fail
checking for py module gzip ... ok
checking for bzip2 ... ok
checking for pkg openssl ... ok (detected 1.0.1k)
checking for cc linux/dvb/version.h ... ok
checking for cc libhdhomerun/hdhomerun.h ... fail
checking for pkg zlib ... ok (detected 1.2.8)
checking for pkg liburiparser ... ok (detected 0.8.0.1)
checking for pkg avahi-client ... ok (detected 0.6.31)
checking for ffmpeg libraries ... fail
checking for pkg libavcodec >=55.34.1 ... ok (detected 56.1.0)
checking for pkg libavutil >=53.3.0 ... ok (detected 54.3.0)
checking for pkg libavformat >=55.12.0 ... ok (detected 56.1.0)
checking for pkg libswscale >=2.1.2 ... ok (detected 3.0.0)
checking for pkg libavresample >=1.1.0 ... ok (detected 2.1.0)
checking for cc sys/inotify.h ... ok
fetching dvb-scan files ... ok
checking for pkg dbus-1 ... ok (detected 1.8.16)
Compiler:
Using C compiler: cc
Build for arch: x86_64
Binaries:
Using PYTHON: python
Options:
cwc 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
imagecache yes
avahi yes
zlib yes
libav yes
libffmpeg_static no
libffmpeg_static_x264 yes
inotify yes
epoll yes
uriparser yes
ccache no
tvhcsa yes
bundle no
dvbcsa no
dvben50221 no
kqueue no
dbus_1 yes
android no
tsdebug no
gtimer_check no
execinfo yes
mmx yes
sse2 yes
getloadavg yes
atomic64 yes
lockowner yes
qsort_r yes
stime yes
recvmmsg yes
sendmmsg yes
py_gzip yes
bin_bzip2 yes
ssl yes
linuxdvbapi yes
upnp yes
inotify_h yes
mpegts yes
mpegts_dvb yes
Packages:
openssl 1.0.1k
zlib 1.2.8
liburiparser 0.8.0.1
avahi-client 0.6.31
libavcodec 56.1.0
libavutil 54.3.0
libavformat 56.1.0
libswscale 3.0.0
libavresample 2.1.0
dbus-1 1.8.16
Installation paths:
Prefix: /usr
Binaries: ${prefix}/bin
Libraries: ${prefix}/lib
Data files: ${prefix}/share
Man pages: /usr/share/man
Final Binary:
/root/tvheadend/build.linux/tvheadend
Tvheadend Data Directory:
/usr/share/tvheadend
make1: Leaving directory '/root/tvheadend'
debian/rules override_dh_auto_build
make1: Entering directory '/root/tvheadend'
make
make2: Entering directory '/root/tvheadend'
make -f Makefile.webui all
make3: Entering directory '/root/tvheadend'
make -f Makefile.webui WEBUI=std compile-std
make4: Entering directory '/root/tvheadend'
/bin/sh: 1: java: not found
Makefile.webui:193: recipe for target 'src/webui/static/tvh.js.gz' failed
make4: * [src/webui/static/tvh.js.gz] Error 127
make4: Leaving directory '/root/tvheadend'
Makefile.webui:173: recipe for target 'all' failed
make3: [all] Error 2
make3: Leaving directory '/root/tvheadend'
Makefile:474: recipe for target 'make_webui' failed
make2: [make_webui] Error 2
make2: Leaving directory '/root/tvheadend'
debian/rules:11: recipe for target 'override_dh_auto_build' failed
make1: [override_dh_auto_build] Error 2
make1: Leaving directory '/root/tvheadend'
debian/rules:5: recipe for target 'build' failed
make: ** [build] Error 2
dpkg-buildpackage: Fehler: Fehler-Exitstatus von debian/rules build war 2
root@tvh:~/tvheadend#
History
Updated by Alfred Zastrow over 9 years ago
I got it partly by installing java headless (up to the next error). Out of my view it is not a good idea to mess up a tall headstation with this kind of bload software.
CC src/epggrab/module.o
CC src/epggrab/channel.o
CC src/epggrab/module/pyepg.o
CC src/epggrab/module/xmltv.o
CC src/plumbing/tsfix.o
CC src/plumbing/globalheaders.o
CC src/dvr/dvr_db.o
CC src/dvr/dvr_rec.o
CC src/dvr/dvr_autorec.o
CC src/dvr/dvr_timerec.o
CC src/dvr/dvr_config.o
CC src/dvr/dvr_cutpoints.o
CC src/webui/webui.o
CC src/webui/comet.o
CC src/webui/extjs.o
In file included from src/webui/extjs.c:119:0:
src/webui/extjs-debug.c: In function ‘extjs_root’:
src/webui/extjs-debug.c:1:2: error: ‘e’ undeclared (first use in this function)
-e extjs_lcss(hq, "static/extjs/resources/css/ext-all-notheme.css");
^
src/webui/extjs-debug.c:1:2: note: each undeclared identifier is reported only once for each function it appears in
src/webui/extjs-debug.c:1:4: error: expected ‘;’ before ‘extjs_lcss’
-e extjs_lcss(hq, "static/extjs/resources/css/ext-all-notheme.css");
^
src/webui/extjs-debug.c:9:4: error: expected ‘;’ before ‘extjs_load’
-e extjs_load(hq, "static/extjs/adapter/ext/ext-base-debug.js");
^
In file included from src/webui/extjs.c:123:0:
src/webui/extjs-std.c:1:4: error: expected ‘;’ before ‘extjs_lcss’
-e extjs_lcss(hq, "static/tvh.css.gz");
^
src/webui/extjs-std.c:2:4: error: expected ‘;’ before ‘extjs_load’
-e extjs_load(hq, "static/tvh.js.gz");
^
In file included from src/webui/extjs.c:177:0:
src/webui/extjs-tv-debug.c: In function ‘extjs_livetv’:
src/webui/extjs-tv-debug.c:1:2: error: ‘e’ undeclared (first use in this function)
-e extjs_lcss(hq, "static/tv.css");
^
src/webui/extjs-tv-debug.c:1:4: error: expected ‘;’ before ‘extjs_lcss’
-e extjs_lcss(hq, "static/tv.css");
^
src/webui/extjs-tv-debug.c:3:4: error: expected ‘;’ before ‘extjs_load’
-e extjs_load(hq, "static/extjs/adapter/ext/ext-base-debug.js");
^
In file included from src/webui/extjs.c:181:0:
src/webui/extjs-tv-std.c:1:4: error: expected ‘;’ before ‘extjs_lcss’
-e extjs_lcss(hq, "static/tvh-tv.css.gz");
^
src/webui/extjs-tv-std.c:2:4: error: expected ‘;’ before ‘extjs_load’
-e extjs_load(hq, "static/tvh-tv.js.gz");
^
Makefile:428: recipe for target '/root/tvheadend/build.linux/src/webui/extjs.o' failed
make2: * [/root/tvheadend/build.linux/src/webui/extjs.o] Error 1
make2: Leaving directory '/root/tvheadend'
debian/rules:11: recipe for target 'override_dh_auto_build' failed
make1: [override_dh_auto_build] Error 2
make1: Leaving directory '/root/tvheadend'
debian/rules:5: recipe for target 'build' failed
make: ** [build] Error 2
dpkg-buildpackage: Fehler: Fehler-Exitstatus von debian/rules build war 2
root@tvh:~/tvheadend# ^C
root@tvh:~/tvheadend#
Updated by Alfred Zastrow over 9 years ago
No chance, even a 'make clean' doesn't help. I'm running always into the same error:
CC src/dvr/dvr_cutpoints.o
CC src/webui/webui.o
CC src/webui/comet.o
CC src/webui/extjs.o
In file included from src/webui/extjs.c:119:0:
src/webui/extjs-debug.c: In function ‘extjs_root’:
src/webui/extjs-debug.c:1:2: error: ‘e’ undeclared (first use in this function)
-e extjs_lcss(hq, "static/extjs/resources/css/ext-all-notheme.css");
^
src/webui/extjs-debug.c:1:2: note: each undeclared identifier is reported only once for each function it appears in
src/webui/extjs-debug.c:1:4: error: expected ‘;’ before ‘extjs_lcss’
-e extjs_lcss(hq, "static/extjs/resources/css/ext-all-notheme.css");
^
src/webui/extjs-debug.c:9:4: error: expected ‘;’ before ‘extjs_load’
-e extjs_load(hq, "static/extjs/adapter/ext/ext-base-debug.js");
^
In file included from src/webui/extjs.c:123:0:
src/webui/extjs-std.c:1:4: error: expected ‘;’ before ‘extjs_lcss’
-e extjs_lcss(hq, "static/tvh.css.gz");
^
src/webui/extjs-std.c:2:4: error: expected ‘;’ before ‘extjs_load’
-e extjs_load(hq, "static/tvh.js.gz");
^
In file included from src/webui/extjs.c:177:0:
src/webui/extjs-tv-debug.c: In function ‘extjs_livetv’:
src/webui/extjs-tv-debug.c:1:2: error: ‘e’ undeclared (first use in this function)
-e extjs_lcss(hq, "static/tv.css");
^
src/webui/extjs-tv-debug.c:1:4: error: expected ‘;’ before ‘extjs_lcss’
-e extjs_lcss(hq, "static/tv.css");
^
src/webui/extjs-tv-debug.c:3:4: error: expected ‘;’ before ‘extjs_load’
-e extjs_load(hq, "static/extjs/adapter/ext/ext-base-debug.js");
^
In file included from src/webui/extjs.c:181:0:
src/webui/extjs-tv-std.c:1:4: error: expected ‘;’ before ‘extjs_lcss’
-e extjs_lcss(hq, "static/tvh-tv.css.gz");
^
src/webui/extjs-tv-std.c:2:4: error: expected ‘;’ before ‘extjs_load’
-e extjs_load(hq, "static/tvh-tv.js.gz");
^
Makefile:428: recipe for target '/root/tvheadend/build.linux/src/webui/extjs.o' failed
make2: * [/root/tvheadend/build.linux/src/webui/extjs.o] Error 1
make2: Leaving directory '/root/tvheadend'
debian/rules:11: recipe for target 'override_dh_auto_build' failed
make1: [override_dh_auto_build] Error 2
make1: Leaving directory '/root/tvheadend'
debian/rules:5: recipe for target 'build' failed
make: ** [build] Error 2
dpkg-buildpackage: Fehler: Fehler-Exitstatus von debian/rules build war 2
I think java is installed corectly. Here is a snap from aptitude:
-----------------------------------------------------------------------------------------------
--\ java - Java programming language and libraries (5)
--\ main - Die Debian-Distribution (5)
i A ca-certificates-java 20140324 20140324
i default-jre-headless 2:1.7-52 2:1.7-52
i A java-common 0.52 0.52
i A openjdk-7-jre-headless 7u75-2.5.4-2 7u75-2.5.4-2
i A tzdata-java 2015c-1 2015c-1
Updated by Jaroslav Kysela over 9 years ago
What's the contents of the file src/webui/extjs-debug.c in the build tree ?
BTW: I added java-jre-headless dependency to debian control file, so java should be ok now.
Updated by Alfred Zastrow over 9 years ago
Update:
after throwing out all the "-e" of this kind of lines:
-e extjs_lcss(hq, "static/extjs/resources/css/ext-all-notheme.css");
it compiles and work.
(But I don't have any knowledge about what this was good for)
Updated by Alfred Zastrow over 9 years ago
It looked like this:
-e extjs_lcss(hq, "static/extjs/resources/css/ext-all-notheme.css");
extjs_lcss(hq, "static/extjs/resources/css/xtheme-blue.css");
extjs_lcss(hq, "static/livegrid/resources/css/ext-ux-livegrid.css");
extjs_lcss(hq, "static/extjs/examples/ux/gridfilters/css/GridFilters.css");
extjs_lcss(hq, "static/extjs/examples/ux/gridfilters/css/RangeMenu.css");
extjs_lcss(hq, "static/xcheckbox/xcheckbox.css");
extjs_lcss(hq, "static/app/ext.css");
-e extjs_load(hq, "static/extjs/adapter/ext/ext-base-debug.js");
extjs_load(hq, "static/extjs/ext-all-debug.js");
extjs_load(hq, "static/app/extensions.js");
extjs_load(hq, "static/livegrid/livegrid-all.js");
extjs_load(hq, "static/lovcombo/lovcombo-all.js");
extjs_load(hq, "static/multiselect/multiselect.js");
extjs_load(hq, "static/multiselect/ddview.js");
extjs_load(hq, "static/xcheckbox/xcheckbox.js");
extjs_load(hq, "static/checkcolumn/CheckColumn.js");
extjs_load(hq, "static/extjs/examples/ux/gridfilters/GridFilters.js");
extjs_load(hq, "static/extjs/examples/ux/gridfilters/filter/Filter.js");
extjs_load(hq, "static/extjs/examples/ux/gridfilters/filter/BooleanFilter.js");
extjs_load(hq, "static/extjs/examples/ux/gridfilters/filter/DateFilter.js");
extjs_load(hq, "static/extjs/examples/ux/gridfilters/filter/ListFilter.js");
extjs_load(hq, "static/extjs/examples/ux/gridfilters/filter/NumericFilter.js");
extjs_load(hq, "static/extjs/examples/ux/grid
[...]
Updated by Jaroslav Kysela over 9 years ago
It's from 'echo -e' - Makefile.webui - but I don't know why at the moment (Fedora builds are OK).
Updated by Alfred Zastrow over 9 years ago
Here are alj the malformed lines:
root@tvh:~/tvheadend.bak/src/webui# grep -e '-e' *.c
extjs-debug.c:-e extjs_lcss(hq, "static/extjs/resources/css/ext-all-notheme.css");
extjs-debug.c:-e extjs_load(hq, "static/extjs/adapter/ext/ext-base-debug.js");
extjs-std.c:-e extjs_lcss(hq, "static/tvh.css.gz");
extjs-std.c:-e extjs_load(hq, "static/tvh.js.gz");
extjs-tv-debug.c:-e extjs_lcss(hq, "static/tv.css");
extjs-tv-debug.c:-e extjs_load(hq, "static/extjs/adapter/ext/ext-base-debug.js");
extjs-tv-std.c:-e extjs_lcss(hq, "static/tvh-tv.css.gz");
extjs-tv-std.c:-e extjs_load(hq, "static/tvh-tv.js.gz");
Updated by Alfred Zastrow over 9 years ago
It seems to be a Debian issue:
http://unix.stackexchange.com/questions/88307/escape-sequences-with-echo-e-in-different-shells
I've changes the 'sh' symlink from 'dash' to 'bash' and now it compiles.
(And I hope it will boot without any problems next time...)
Updated by Alfred Zastrow over 9 years ago
From the link I've posted:
---------------
-e is not POSIX (in fact, POSIX echo generally accepts no options (though is allowed to support -n), see here), and /bin/sh on your system appears to be a POSIX shell. -e is an extension accepted in some shells, but you shouldn't rely on it, it's not portable. Ideally, use printf, or switch to using a shell which has echo -e.
Also see the caveats of \e in the comments below, which should be replaced with \033.
printf '\033[3;12r\033[3H'
---------------
It's not a POSIX standard.
Updated by Petar Ivanov over 9 years ago
I have similar problem with compilation on Debian 7
In file included from src/webui/extjs.c:119:0:
src/webui/extjs-debug.c: In function Б─≤extjs_rootБ─≥:
src/webui/extjs-debug.c:1:2: error: Б─≤eБ─≥ undeclared (first use in this function)
-e extjs_lcss(hq, "static/extjs/resources/css/ext-all-notheme.css");
^
src/webui/extjs-debug.c:1:2: note: each undeclared identifier is reported only once for each function it appears in
src/webui/extjs-debug.c:1:4: error: expected Б─≤;Б─≥ before Б─≤extjs_lcssБ─≥
-e extjs_lcss(hq, "static/extjs/resources/css/ext-all-notheme.css");
^
src/webui/extjs-debug.c:9:4: error: expected Б─≤;Б─≥ before Б─≤extjs_loadБ─≥
-e extjs_load(hq, "static/extjs/adapter/ext/ext-base-debug.js");
^
In file included from src/webui/extjs.c:123:0:
src/webui/extjs-std.c:1:4: error: expected Б─≤;Б─≥ before Б─≤extjs_lcssБ─≥
-e extjs_lcss(hq, "static/tvh.css.gz");
^
src/webui/extjs-std.c:2:4: error: expected Б─≤;Б─≥ before Б─≤extjs_loadБ─≥
-e extjs_load(hq, "static/tvh.js.gz");
^
In file included from src/webui/extjs.c:177:0:
src/webui/extjs-tv-debug.c: In function Б─≤extjs_livetvБ─≥:
src/webui/extjs-tv-debug.c:1:2: error: Б─≤eБ─≥ undeclared (first use in this function)
-e extjs_lcss(hq, "static/tv.css");
^
src/webui/extjs-tv-debug.c:1:4: error: expected Б─≤;Б─≥ before Б─≤extjs_lcssБ─≥
-e extjs_lcss(hq, "static/tv.css");
^
src/webui/extjs-tv-debug.c:3:4: error: expected Б─≤;Б─≥ before Б─≤extjs_loadБ─≥
-e extjs_load(hq, "static/extjs/adapter/ext/ext-base-debug.js");
^
In file included from src/webui/extjs.c:181:0:
src/webui/extjs-tv-std.c:1:4: error: expected Б─≤;Б─≥ before Б─≤extjs_lcssБ─≥
-e extjs_lcss(hq, "static/tvh-tv.css.gz");
^
src/webui/extjs-tv-std.c:2:4: error: expected Б─≤;Б─≥ before Б─≤extjs_loadБ─≥
-e extjs_load(hq, "static/tvh-tv.js.gz");
What you change and where to fix ?
Updated by Alfred Zastrow over 9 years ago
For a quick fix without changing the sources:
(become root
su <password>
(and then
cd /bin
rm -f sh
ln -s bash sh
(check if your symlink is correct, otherwise your system will fail during next boot
ls -n sh
exit
But it is easier to edit the symlink with the Midnight Commander (mc)
Updated by Jaroslav Kysela over 9 years ago
- Status changed from New to Fixed
Fixed using printf. Also, java dependency was removed (compressors written in python are used now).