Kodi Community Forum

Full Version: fail to compile Kodi on Debian Jessie
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Hi guys,

As I need support for h265 on my HTPC running Debian Jessie and packaged xBMC 13, I decided to manually package by myself Kodi 14. Hopefully, this should be quite easy as the script mk-debian-package.sh do the job...
So after installing all the build dependencies packages, backporting afpfs package from Ubuntu repositories, and creating a dummy package to provide libgnutls-dev as libgnutls28-dev is breaking the dependencies, I was able to checkout the git repo and run mk-debian-package.sh... But it fails :

rico@kodibld:~/src/kodi/xbmc/tools/Linux/packaging$ ./mk-debian-package.sh
#------ build environment ------#
REPO_DIR: /home/rico/src/kodi/xbmc
RELEASEV: 14.0
TAG: 488627a
DISTS: jessie
ARCHS: amd64
DEBIAN: https://github.com/xbmc/xbmc-packaging/a...ter.tar.gz
BUILDER: debuild
CONFIGURATION:
DEBUILD_OPTS:
#-------------------------------#
Output Archive: kodi-14.0~git20141126.1313-488627a.tar.gz
building: DIST=jessie ARCH=amd64
This package has a Debian revision number but there does not seem to be
an appropriate original tar file or .orig directory in the parent directory;
(expected one of xbmc_14.0~git20141126.1313-488627a.orig.tar.gz, xbmc_14.0~git20141126.1313-488627a.orig.tar.bz2,
xbmc_14.0~git20141126.1313-488627a.orig.tar.lzma, xbmc_14.0~git20141126.1313-488627a.orig.tar.xz or xbmc.orig)
continue anyway? (y/n) y
dpkg-buildpackage -rfakeroot -D -us -uc
dpkg-buildpackage: source package xbmc
dpkg-buildpackage: source version 14.0~git20141126.1313-488627a-0
dpkg-buildpackage: source distribution jessie
dpkg-buildpackage: source changed by wsnipex <wsnipex@xbmc.org>
dpkg-source --before-build xbmc
dpkg-buildpackage: host architecture amd64
fakeroot debian/rules clean
dh clean --parallel
dh_testdir -O--parallel
dh_auto_clean -O--parallel
debian/rules override_dh_clean
make[1]: Entering directory '/home/rico/src/kodi/xbmc'
dh_clean
find . -name config.status -o -name config.cache -o -name config.log \
-exec rm -f "{}" \;
debian/rules debian/control.in
make[2]: Entering directory '/home/rico/src/kodi/xbmc'
Generating debian/control from debian/control.in
perl -p \
-e 's{#BUILD_DEPENDS#}{qx(sh debian/var_info BUILD_DEPENDS)}ge;' \
< debian/control.in > $(echo debian/control.in | sed 's/\.in$//')
make[2]: Leaving directory '/home/rico/src/kodi/xbmc'
make[1]: Leaving directory '/home/rico/src/kodi/xbmc'
dpkg-source -b xbmc
dpkg-source: error: can't build with source format '3.0 (quilt)': no upstream tarball found at ../xbmc_14.0~git20141126.1313-488627a.orig.tar.{bz2,gz,lzma,xz}
dpkg-buildpackage: error: dpkg-source -b xbmc gave error exit status 255
debuild: fatal error at line 1373:
dpkg-buildpackage -rfakeroot -D -us -uc failed
output directory: /home/rico/src/kodi/xbmc/..


I can't understand the error message "no upstream tarball found" as the tarball is actually as expected :

rico@kodibld:~/src/kodi/xbmc/tools/Linux/packaging$ ls -al /home/rico/src/kodi/xbmc/..
total 70724
drwxr-xr-x 3 rico rico 4096 nov. 26 13:13 .
drwxr-xr-x 4 rico rico 4096 nov. 26 11:50 ..
lrwxrwxrwx 1 rico rico 41 nov. 26 13:13 kodi_14.0~git20141126.1313-488627a.orig.tar.gz -> kodi-14.0~git20141126.1313-488627a.tar.gz
-rw-r--r-- 1 rico rico 72404890 nov. 26 13:13 kodi-14.0~git20141126.1313-488627a.tar.gz
drwxr-xr-x 19 rico rico 4096 nov. 26 13:49 xbmc
-rw-r--r-- 1 rico rico 1267 nov. 26 13:13 xbmc_14.0~git20141126.1313-488627a-0_amd64.build


I also tried with pbuilder instead of debuild, with the same result. I used this command line :

RELEASEV=14 ARCHS=amd64 DISTS=jessie BUILDER="pdebuild" PDEBUILD_OPTS="--debbuildopts \"-j4\"" PBUILDER_BASE="/home/rico/xbmc-pkg" DPUT_TARGET="local" ./mk-debian-package.sh

If somebody can tell me where I'm wrong ?

Thanks,

Eric
expected one of *xbmc*_14.0~git20141126.1313-488627a.orig.tar.gz, *xbmc*_14.0~git20141126.1313-488627a.orig.tar.bz2 , ...

rebranding artifact..
Hai, i have tried this a lots of times, yes it can be done, and im also a big debian fan, but...
best is use ubuntu 14.04 for Kodi
look here, great thread.

XBMC
http://forum.kodi.tv/showthread.php?tid=174854

you can use AMD and Nvidia and intel with this setup.

and FFMpeg in debian is a big difference, it missing things, due to licences.
Damn ! it was on my noze !!! Thanks !

So I patched the file mk-debian-package.sh replacing "kodi" by "xbmc" at line 102 (in function archiveRepo) and now the build is /almost/ working...

I write /almost/ because the build processes complete successfully, but the Debian packaging fails !

I put here the end of the build log :


-----------------------
Kodi built successfully
-----------------------
make[1]: Leaving directory '/home/rico/src/kodi/xbmc'
debian/rules override_dh_auto_test
make[1]: Entering directory '/home/rico/src/kodi/xbmc'
# Do not run unittests, as they fail
make[1]: Leaving directory '/home/rico/src/kodi/xbmc'
fakeroot debian/rules binary
dh binary --parallel
dh_testroot -O--parallel
dh_prep -O--parallel
debian/rules override_dh_auto_install
make[1]: Entering directory '/home/rico/src/kodi/xbmc'
/usr/bin/make install DESTDIR=/home/rico/src/kodi/xbmc/debian/tmp
make[2]: Entering directory '/home/rico/src/kodi/xbmc'
Copying kodi binary to /home/rico/src/kodi/xbmc/debian/tmp/usr/lib/kodi/
You can run kodi with the command 'kodi'
Copying support and legal files...
Done!
Copying system files to /home/rico/src/kodi/xbmc/debian/tmp/usr/share/kodi
Copying bindings to /home/rico/src/kodi/xbmc/debian/tmp/usr/include/kodi
make[2]: Leaving directory '/home/rico/src/kodi/xbmc'
/usr/bin/make eventclients DESTDIR=/home/rico/src/kodi/xbmc/debian/tmp \
WII_EXTRA_OPTS=-DCWIID_OLD
make[2]: Entering directory '/home/rico/src/kodi/xbmc'
/usr/bin/make -C tools/EventClients
make[3]: Entering directory '/home/rico/src/kodi/xbmc/tools/EventClients'
cd Clients/WiiRemote && \
x86_64-linux-gnu-g++ -O2 -fPIC -DPIC -D_REENTRANT -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -DNDEBUG=1 CWIID_WiiRemote.cpp -lcwiid -lbluetooth -DICON_PATH="\"/usr/share/pixmaps/kodi/\"" -DCWIID_OLD -o WiiRemote
mkdir -p /home/rico/src/kodi/xbmc/debian/tmp/usr/bin
cp -a Clients/WiiRemote/WiiRemote /home/rico/src/kodi/xbmc/debian/tmp/usr/bin/kodi-wiiremote
cp -a Clients/J2ME\ Client/j2me_remote.py /home/rico/src/kodi/xbmc/debian/tmp/usr/bin/kodi-j2meremote
cp -a Clients/PS3\ BD\ Remote/ps3_remote.py /home/rico/src/kodi/xbmc/debian/tmp/usr/bin/kodi-ps3remote
cp -a Clients/PS3\ Sixaxis\ Controller/ps3d.py /home/rico/src/kodi/xbmc/debian/tmp/usr/bin/kodi-ps3d
cp -a Clients/Kodi\ Send/kodi-send.py /home/rico/src/kodi/xbmc/debian/tmp/usr/bin/kodi-send
mkdir -p /home/rico/src/kodi/xbmc/debian/tmp/usr/lib/python2.7/dist-packages/kodi
echo 'ICON_PATH="/usr/share/pixmaps/kodi/"' > /home/rico/src/kodi/xbmc/debian/tmp/usr/lib/python2.7/dist-packages/kodi/defs.py
cp -a lib/python/* /home/rico/src/kodi/xbmc/debian/tmp/usr/lib/python2.7/dist-packages/kodi/
cp -a Clients/PS3\ BD\ Remote/ps3_remote.py /home/rico/src/kodi/xbmc/debian/tmp/usr/lib/python2.7/dist-packages/kodi/
mkdir -p /home/rico/src/kodi/xbmc/debian/tmp/usr/include/kodi
cp -a lib/c++/* /home/rico/src/kodi/xbmc/debian/tmp/usr/include/kodi/
mkdir -p /home/rico/src/kodi/xbmc/debian/tmp/usr/share/pixmaps/kodi
cp -a icons/* /home/rico/src/kodi/xbmc/debian/tmp/usr/share/pixmaps/kodi/
make[3]: Leaving directory '/home/rico/src/kodi/xbmc/tools/EventClients'
make[2]: Leaving directory '/home/rico/src/kodi/xbmc'
make[1]: Leaving directory '/home/rico/src/kodi/xbmc'
debian/rules override_dh_install
make[1]: Entering directory '/home/rico/src/kodi/xbmc'
dh_install --sourcedir=/home/rico/src/kodi/xbmc/debian/tmp -XLICENCE \
-XLicence.txt -XLicense.txt -XLiberationSans-Regular.ttf \
-XDejaVuSans.ttf -XDejaVuSans-Bold.ttf
install: cannot create directory ‘debian/xbmc//usr/share/xbmc’: File exists
dh_install: install -d debian/xbmc//usr/share/xbmc/addons returned exit code 1
debian/rules:98: recipe for target 'override_dh_install' failed
make[1]: *** [override_dh_install] Error 2
make[1]: Leaving directory '/home/rico/src/kodi/xbmc'
debian/rules:72: recipe for target 'binary' failed
make: *** [binary] Error 2
dpkg-buildpackage: error: fakeroot debian/rules binary gave error exit status 2
debuild: fatal error at line 1373:
dpkg-buildpackage -rfakeroot -D -us -uc failed

Any idea ?
I didn't have time to update the xbmc-packaging repo yet. If you can't wait grab the debian files from our ubuntu nightly or unstable ppa.
(2014-11-26, 17:01)thctlo Wrote: [ -> ]Hai, i have tried this a lots of times, yes it can be done, and im also a big debian fan, but...
best is use ubuntu 14.04 for Kodi
look here, great thread.

XBMC
http://forum.kodi.tv/showthread.php?tid=174854

you can use AMD and Nvidia and intel with this setup.

and FFMpeg in debian is a big difference, it missing things, due to licences.

I don't like ubuntu, I have my reasons, but this is out of scope. My HTPC is an Intel NUC system, with a Intel HD4000 video chip and it works very well, at lest with Gotham Wink and regarding the FFmpeg license issue, I'm using multimedia packages that come from deb-multimedia repository, which is OK Wink

So I really *want* to get kodi working on my Debian system !
Ok, cool, you a better packager then me.. ;-)
are you using these repo's also for ffmpeg on jessie?

deb https://people.debian.org/~rbalint/ppa/xbmc-ffmpeg xbmc-ffmpeg-wheezy-backports/

deb http://http.debian.net/debian wheezy-backports main contrib non-free
btw, the mk-debian-package.sh script should work again
(2014-12-02, 14:26)thctlo Wrote: [ -> ]Ok, cool, you a better packager then me.. ;-)
are you using these repo's also for ffmpeg on jessie?
no, I used ffmpeg packaged by deb-multimedia repo.
Finally I was able to get a usable kodi package on Jessie, with h265 playback... I but it broke other codec playback !

Currently I switched my HTPC system to Ubuntu 14.04 LTS with Kodi's Unstable PPA repo and it seems to work like a charm. I just have a lot of pain to get a working tvheadend package but I finally succeeded to package the git HEAD branch.

So now I think I'm going to stay as this, praying to keep the system stable : I never played with LTS flavor of Uduntu, anyway it can be worse than non LTS releases...
Hi guys, i'm trying to install kodi on Debian Jessie but it appears this:
Code:
/usr/bin/ld: /usr/lib/x86_64-linux-gnu/libavformat.a(tls.o): referencia sin definir al símbolo 'gnutls_certificate_set_x509_system_trust@@GNUTLS_DEBIAN_0_3_0_0'
//usr/lib/x86_64-linux-gnu/libgnutls-deb0.so.28: error adding symbols: DSO missing from command line
collect2: error: ld returned 1 exit status
Makefile:437: recipe for target 'kodi.bin' failed
make: *** [kodi.bin] Error 1

Any idea?
use our internal ffmpeg