web-dev-qa-db-ja.com

Ubuntu 18.04(Bionic Beaver)にKodi 16.1 "Jarvis"をインストールする方法

調査に6時間を費やし、PPAリポジトリを見つけました。そこに表示されますが、インストールされません。私はUbuntuを初めて使用しますが、ここで学習して障害物を見つけようとしています。助けて!

私はこれらのコマンドを使用しました:

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

against Bionic Beaverでこの古いバージョンのKodiをビルドすることをお勧めしますが、とにかく挑戦として着手しました! (そしてもちろん、thisの非常に具体的なneedを持っていることを理解しています)。多くのolderライブラリをダウンロードし、膨大な数のファイルをビルドします。

しかし、やや骨の折れるプロセスであるにもかかわらず、このガイドはBionic BeaverでKodi 16.1の作業コピーを提供してくれたので、使用することにした場合はBionicシステムでも十分に機能するはずです。私はexhaustivelyをこれを新しいVMでテストしました。メインマシンにコミットする前に仮想マシンでテストすることを検討してください。

1。依存関係のダウンロード:

Kodiパッケージの依存関係はSudo apt-get build-dep Kodiを使用して見つけることができます。これにより、次のリストが作成され、ターミナルウィンドウにコピーして貼り付ける必要があります。新しい仮想マシンでは、これは314mbのダウンロードでした...

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。ビルドディレクトリを作成してソースをダウンロードします:

ビルドディレクトリを作成し、変更して、Kodi 16.1のソースをダウンロードして抽出します。次のコマンドを一度に1つずつ使用します。

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

Cximageが新しいgccでビルドできるようにするにはパッチが必要です。次の1行のコマンドは、古いKodiコミットからこのパッチをダウンロードします。

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

3。 Kodiのビルド:

まず、必要な自動ビルドツール/構成を作成します。

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

そして今、さらに必要な依存関係を構築、ダウンロード、コンパイル、インストールします。私はこれらをいくつかのセクションに分割しました。

i)Kodi extrasフォルダーからいくつかの依存関係を構築します:

Kodiには、いくつかの厄介な依存関係のためのビルドシステムがあり、ここで使用します。次のコマンドを一度に1つずつ使用します。

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

ii)ジャスパーのまともなコピーを見つける:

JasperはUbuntuから削除されているため、Debianの同僚から取得し、次のコマンドを指定された順序で一度に1つずつ使用します。

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)libcecの古い必須バージョンをコンパイルします:

このバージョンのKodiは古いバージョンのlibcecを必要としているため、以下がインストールされます。これらの古いバージョンを使用するのは理想的ではありませんが、これは新しいリリースで古いソフトウェアを構築するための価格の一部です...

最初のlibplatform(libcecに必要)、Xenial xbmc PPAから:

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

次に、必要なバージョンのlibcecをコンパイルして、/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)Kodiのコンパイル:

最後に、Kodiソースをコンパイルしてパッチを適用します。

(今後の./configureプロセスは独自のFFmpegのコピーをダウンロードして使用することに注意してください。これは無効にできますが、このビルドではそれを許可します!このプロセスの詳細は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。必須のスクリーンショット:

以下は、Bionic Beaverシステムで実行されているKodi 16.1のスクリーンショットです。

enter image description here

このバージョンをテストして、特定のニーズを満たすために適切なオプションがすべて使用されていることを確認する必要があります。微調整は常に可能です:)。

注:

このガイドに従って作成されたKodi構成は次のとおりです。「No」とマークされたセクションがいくつかあり、必要に応じて作業できます。

------------------------
  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
------------------------
4
andrew.46

使用したPPA には名前に「old」が含まれています。これは、newUbuntu Bionic Beaver(18.04)では動作しない可能性が高いことを示します。このPPAでサポートされる最新のUbuntuリリースはXenial(16.04)です。

現在のKodiバージョンで問題ない場合、 「Kodi」チームPPA があり、「古い」サフィックスがないため、以下を使用してください。

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

これにより、Ubuntu Bionicで実行しているときに、現在のバージョン2:17.6+git20180430.1623-final-0bionicがインストールされます。

Kodi Jarvis(バージョン16)を明示的にインストールする場合は、まだサポートされているUbuntu 16.04の使用を検討する必要があります(2021まで)。現在のバージョンを残したくない場合は、2つのUbuntuバージョンをデュアルブートするか、1つを仮想化できます。 18.04用のKodi Jarvisを自分でビルドすることもできますが、それは非常に難しいかもしれません。

3
Melebius