web-dev-qa-db-fra.com

Comment installer Kodi 16.1 "Jarvis" sur Ubuntu 18.04 (Bionic Beaver)

J'ai passé 6 heures à effectuer des recherches, à trouver des référentiels d'APP et à les voir, mais elles ne seront pas installées. Je suis nouveau sur Ubuntu et j'essaie juste d'apprendre et de frapper un barrage routier ici. Aidez-moi!

J'ai utilisé ces commandes:

Sudo add-apt-repository -r -y ppa:team-xbmc/ppa
Sudo add-apt-repository -y ppa:team-xbmc/Kodi-old
Sudo apt-get update
Sudo apt-get install Kodi=2:16* Kodi-bin=2:16*
5
Shane Greenfield

Le PPA que vous avez utilisé a "vieux" dans son nom. Cela indique que cela ne fonctionnera probablement pas avec new Ubuntu Bionic Beaver (18.04) - la dernière version d’Ubuntu prise en charge par ce PPA est Xenial (16.04).

Si vous êtes d'accord avec la version actuelle de Kodi, il existe un PPA de l'équipe "Kodi" sans le suffixe "ancien", utilisez donc:

Sudo add-apt-repository ppa:team-xbmc/ppa
Sudo apt-get update
Sudo apt-get install Kodi

Cela installera la version actuelle 2:17.6+git20180430.1623-final-0bionic lors de l'exécution sur Ubuntu Bionic.

Si vous souhaitez explicitement installer Kodi Jarvis (version 16), vous devriez envisager d'utiliser Ubuntu 16.04, qui est toujours pris en charge (jusqu'en 2021). Si vous ne souhaitez pas quitter votre version actuelle, vous pouvez double-amorcer les deux versions d’Ubuntu ou en virtualiser une. Vous pouvez également essayer de construire Kodi Jarvis pour 18.04 vous-même, mais cela risque d’être assez difficile.

3
Melebius

Je conseillerais contre de construire cette ancienne version de Kodi sur Bionic Beaver mais je l’ai entrepris comme un défi quand même! (Et bien sûr, je réalise que vous avez un besoin très spécifique pour cette version ). Il construit de nombreuses anciennes bibliothèques, télécharge un très grand nombre de fichiers et est tout simplement un travail difficile.

Cependant, bien que ce soit un processus assez ardu, ce guide m’a fourni une copie de travail de Kodi 16.1 sur Bionic Beaver et devrait fonctionner assez bien sur votre système Bionic également si vous décidez de l’utiliser. J'ai testé de manière exhaustive sur une nouvelle machine virtuelle. Pensez à la tester vous-même sur une machine virtuelle avant de vous engager sur votre machine principale.

1. Dépendances de téléchargement:

Les dépendances pour le package Kodi peuvent être trouvées à l'aide de Sudo apt-get build-dep Kodi. La liste suivante a donc été créée et doit être copiée et collée dans une fenêtre de terminal. Sur une nouvelle machine virtuelle, il s'agissait d'un téléchargement de 314 Mo ...

Sudo apt-get install antlr autoconf automake autopoint autotools-dev \
build-essential ca-certificates-Java cmake cmake-data cpp-6 curl debhelper \
default-jre default-jre-headless default-libmysqlclient-dev dh-autoreconf \
dh-python dh-strip-nondeterminism doxygen dpkg-dev fontforge-common \
fontforge-nox g++ g++-6 g++-7 gawk gcc gcc-6 gcc-6-base gcc-7 \
gir1.2-harfbuzz-0.0 googletest gperf groovy icu-devtools ivy Java-common \
junit4 libantlr-Java libao-dev libapache-pom-Java libasan3 libasan4 libasm-Java \
libasound2-dev libass-dev libass9 libatk-wrapper-Java libatk-wrapper-Java-jni \
libatomic1 libavahi-client-dev libavahi-common-dev libavcodec-dev libavcodec57 \
libavfilter-dev libavfilter6 libavformat-dev libavformat57 libavresample-dev \
libavresample3 libavutil-dev libavutil55 libbluetooth-dev libbluray-dev \
libbluray2 libboost-atomic1.65-dev libboost-atomic1.65.1 \
libboost-chrono1.65-dev libboost-chrono1.65.1 libboost-date-time1.65-dev \
libboost-dev libboost-serialization1.65-dev libboost-serialization1.65.1 \
libboost-system1.65-dev libboost-thread-dev libboost-thread1.65-dev \
libboost1.65-dev libbs2b0 libbsf-Java libbz2-dev libc-dev-bin libc6-dev \
libcap-dev libcapnp-0.6.1 libcdio-dev libcec-dev libcec4 libchromaprint1 \
libcilkrts5 libclang1-6.0 libcommons-cli-Java libcommons-lang-Java \
libcommons-logging-Java libcommons-parent-Java libcrossguid-dev \
libcrossguid0 libcrystalhd3 libcurl4 libcurl4-gnutls-dev libcwiid-dev \
libcwiid1 libdbus-1-dev libdrm-dev libegl1-mesa-dev libexpat1-dev \
libfile-stripnondeterminism-Perl libflite1 libfluidsynth1 libfontconfig1-dev \
libfontforge2 libfreetype6-dev libfribidi-dev libfstrcmp-dev libfstrcmp0 \
libgcc-6-dev libgcc-7-dev libgcrypt20-dev libgdraw5 libgif-dev libgif7 \
libgl1-mesa-dev libgles2-mesa-dev libglib2.0-dev libglib2.0-dev-bin \
libglu1-mesa-dev libglvnd-core-dev libglvnd-dev libgme0 libgmp-dev \
libgmpxx4ldbl libgnutls-dane0 libgnutls-openssl27 libgnutls28-dev \
libgnutlsxx28 libgpg-error-dev libgraphite2-dev libgsm1 libgtest-dev \
libhamcrest-Java libharfbuzz-dev libharfbuzz-gobject0 \
libhawtjni-runtime-Java libibus-1.0-dev libice-dev libicu-dev \
libicu-le-hb-dev libicu-le-hb0 libiculx60 libidn2-0-dev libidn2-dev \
libiso9660-10 libiso9660-dev libitm1 libjansi-Java libjansi-native-Java \
libjline2-Java libjpeg-dev libjpeg-turbo8-dev libjpeg8-dev libjsoncpp1 \
liblcms2-dev liblsan0 libltdl-dev liblzo2-dev libmad0 libmicrohttpd-dev \
libmicrohttpd12 libmirclient-dev libmirclient9 libmircommon-dev \
libmircommon7 libmircookie-dev libmircookie2 libmircore-dev libmircore1 \
libmirprotobuf3 libmodplug-dev libmodplug1 libmpx2 libmysofa0 \
libmysqlclient-dev libmysqlclient20 libnfs-dev libnfs11 libnorm1 libopengl0 \
libopenjp2-7 libopenmpt0 libp11-kit-dev libp8-platform-dev libp8-platform2 \
libpcre16-3 libpcre3-dev libpcre32-3 libpcrecpp0v5 libpgm-5.2-0 libplist-dev \
libpng-dev libpostproc-dev libpostproc54 libprotobuf-dev libprotobuf-lite10 \
libpthread-stubs0-dev libpulse-dev libpython-dev libpython-stdlib \
libpython2.7-dev libqdox-Java librhash0 librsvg2-bin librubberband2 \
libsdl2-2.0-0 libsdl2-dev libsdl2-image-2.0-0 libsdl2-image-dev \
libsdl2-mixer-2.0-0 libsdl2-mixer-dev libservlet3.1-Java libset-scalar-Perl \
libshairport-dev libshairport2 libshine3 libsigsegv2 libsm-dev \
libsmbclient-dev libsnappy1v5 libsndio-dev libsndio6.1 libsoxr0 libspiro0 \
libsqlite3-dev libssh-gcrypt-4 libssh-gcrypt-dev libstdc++-6-dev \
libstdc++-7-dev libswresample-dev libswresample2 libswscale-dev libswscale4 \
libtag1-dev libtasn1-6-dev libtinyxml-dev libtinyxml2.6.2v5 libtool libtsan0 \
libubsan0 libudev-dev libunbound2 libuninameslist1 libuv1 libva-dev \
libva-drm2 libva-glx2 libva-wayland2 libva-x11-2 libva2 libvdpau-dev \
libvdpau1 libwayland-bin libwayland-dev libx11-dev libx11-xcb-dev \
libx264-152 libx265-146 libxau-dev libxcb-dri2-0-dev libxcb-dri3-dev \
libxcb-glx0-dev libxcb-present-dev libxcb-randr0-dev libxcb-render0-dev \
libxcb-shape0-dev libxcb-sync-dev libxcb-xfixes0-dev libxcb1-dev \
libxcursor-dev libxdamage-dev libxdmcp-dev libxext-dev libxfixes-dev \
libxi-dev libxinerama-dev libxkbcommon-dev libxml2-dev libxmu-dev \
libxmu-headers libxpp3-Java libxrandr-dev libxrender-dev libxshmfence-dev \
libxslt1-dev libxss-dev libxstream-Java libxt-dev libxv-dev libxvidcore4 \
libxxf86vm-dev libyajl-dev libzmq5 libzvbi-common libzvbi0 linux-libc-dev m4 \
make mesa-common-dev mysql-common nettle-dev openjdk-11-jre \
openjdk-11-jre-headless pkg-config po-debconf python python-dev \
python-minimal python-pil python2.7 python2.7-dev python2.7-minimal \
python3-distutils python3-lib2to3 swig swig3.0 uuid-dev valgrind \
x11proto-core-dev x11proto-damage-dev x11proto-dev x11proto-dri2-dev \
x11proto-fixes-dev x11proto-gl-dev x11proto-input-dev x11proto-randr-dev \
x11proto-scrnsaver-dev x11proto-xext-dev x11proto-xf86vidmode-dev \
x11proto-xinerama-dev xorg-sgml-doctools xtrans-dev yasm zlib1g-dev \
checkinstall libglew-dev libmpeg2-4-dev liblogg4-dev libtiff-dev \
libssl-dev libcrypto++-dev libusb-dev liblockfile-dev

2. Faire un répertoire de construction et télécharger la source:

Créez maintenant un répertoire de construction, accédez-y, puis téléchargez et extrayez le code source de Kodi 16.1. Utilisez les commandes suivantes une à la fois:

mkdir $HOME/Kodi_build && cd $HOME/Kodi_build
wget https://github.com/xbmc/xbmc/archive/16.1-Jarvis.tar.gz
tar xvf 16.1-Jarvis.tar.gz

Un correctif est nécessaire pour permettre à cximage de se construire avec le gcc plus récent. La commande suivante sur une ligne téléchargera ce correctif à partir d'un commit Kodi plus ancien:

wget https://github.com/xbmc/xbmc/commit/8f82e51563f0e1bc9b7a8adf669ad2b66e7ce3e5.patch \
-O Kodi_16.1_cxximage_gcc_fix.diff

3. Construire Kodi:

Commencez par créer les outils/la configuration automatique requis:

cd $HOME/Kodi_build/xbmc-16.1-Jarvis
./bootstrap

Et maintenant, pour construire, télécharger, compiler et installer encore plus de dépendances requises. Je les ai divisées en sections dans un souci de clarté (espérons-le):

i) Construisez des dépendances à partir du dossier des suppléments Kodi:

Kodi a mis en place un système de compilation pour certaines des dépendances les plus délicates. Nous l'utilisons ici. Utilisez les commandes suivantes 1 à la fois:

Sudo make -C tools/depends/target/crossguid PREFIX=/usr/local
Sudo make -C tools/depends/target/libdcadec PREFIX=/usr/local

ii) Trouvez une copie correcte de Jasper:

Jasper est parti d'Ubuntu, récupérez-le donc auprès de nos collègues Debian, utilisez les commandes suivantes une par une, dans l'ordre indiqué:

wget http://security.debian.org/debian-security/pool/updates/main/j/jasper/libjasper1_1.900.1-13+deb7u6_AMD64.deb
wget http://security.debian.org/debian-security/pool/updates/main/j/jasper/libjasper-dev_1.900.1-13+deb7u6_AMD64.deb
Sudo dpkg -i libjasper1_1.900.1-13+deb7u6_AMD64.deb
Sudo dpkg -i libjasper-dev_1.900.1-13+deb7u6_AMD64.deb

iii) Compilez l'ancienne version requise de libcec:

Cette version de Kodi veut une version plus ancienne de libcec et les suivants vont l'installer. Ce n’est pas idéal avec ces anciennes versions, mais cela fait partie du coût de la construction d’un logiciel plus ancien avec une version plus récente ...

D'abord pour libplatform (requis par libcec), à partir du PPA Xenial xbmc:

wget http://ppa.launchpad.net/team-xbmc/ppa/ubuntu/pool/main/p/platform/libplatform2_2.0.1-1~xenial_AMD64.deb
wget http://ppa.launchpad.net/team-xbmc/ppa/ubuntu/pool/main/p/platform/libplatform-dev_2.0.1-1~xenial_AMD64.deb
Sudo dpkg -i libplatform2_2.0.1-1~xenial_AMD64.deb
Sudo dpkg -i libplatform-dev_2.0.1-1~xenial_AMD64.deb

Et puis pour compiler la version requise de libcec et l’installer à /usr/local:

cd $HOME/Kodi_build
wget https://github.com/Pulse-Eight/libcec/archive/libcec-3.0.0.tar.gz
tar xvf libcec-3.0.0.tar.gz && cd libcec-libcec-3.0.0
mkdir build && cd build
cmake ..
make && Sudo make install

iv) Compilez Kodi:

Enfin, pour compiler et patcher la source Kodi:

(Notez que le prochain processus ./configure téléchargera et utilisera sa propre copie de FFmpeg. Cela peut être désactivé, mais pour cette construction, nous le permettrons! Les détails de ce processus sont contenus dans tools/depends/target/ffmpeg).

cd $HOME/Kodi_build/xbmc-16.1-Jarvis
patch -p1 < ../Kodi_16.1_cxximage_gcc_fix.diff
./configure --disable-wayland
make -j 4
Sudo make install

5. Capture d'écran obligatoire:

Voici une capture d'écran de Kodi 16.1 s'exécutant sur mon système Bionic Beaver:

enter image description here

Vous devrez tester cette version pour vous assurer que toutes les options appropriées ont été utilisées pour répondre à vos besoins spécifiques. Il est toujours possible de peaufiner :).

Notes:

La configuration de Kodi créée en suivant ce guide est la suivante. Il existe quelques sections marquées "Non" sur lesquelles on pourrait sans doute travailler si nécessaire:

------------------------
  Kodi Configuration:
------------------------
  Kodi Version: 16.1
  git Rev.: Unknown
  Debugging:    Yes
  Profiling:    No
  Optimization: Yes
  SWIG Available:   Yes
  JRE Available:    Yes
  Doxygen Available:    Yes
  Crosscomp.:   No
  target Arch:  
  target CPU:   
  OpenGL:   Yes
  ALSA:     Yes
  DBUS:     Yes
  VDPAU:    Yes
  VAAPI:    Yes
  VTBDecoder:   No
  OpenMax:  No
  Joystick: Yes
  Touch skin:   No
  X11:      Yes
  Wayland:  No
  Bluray:   Yes
  TexturePacker:Yes
  MID Support:  No
  ccache:   No
  ALSA Support: Yes
  PulseAudio:   Yes
  DVDCSS:   Yes
  Google Test Framework Configured: Yes
  Google Breakpad Configured:   No
  Avahi:    Yes
  mDNSEmbedded: No
  Non-free: Yes
  ASAP Codec:   No
  MySQL:    Yes
  Webserver:    Yes
  libssh support:   Yes
  libRTMP support:  No
  libsmbclient support: Yes
  libnfs client support:Yes
  libgif support:   Yes
  AirPlay support:  Yes
  AirTunes support: No
  UPnP support:     Yes
  Optical drive:    Yes
  libudev support:  Yes
  libusb support:   No
  libcec support:   Yes
  libcap support:   Yes
  additional players:   No
  additional codecs:    No
  prefix:   /usr/local
------------------------
3
andrew.46