Difference between revisions of "Archive:HOW-TO compile Kodi for Linux on Arch/Manjaro"

From Official Kodi Wiki
Jump to: navigation, search
(Link recommended method for Arch-based distros)
(Installing the required packages)
Line 22: Line 22:
  
 
<syntaxhighlight lang="bash">
 
<syntaxhighlight lang="bash">
sudo pacman -S autoconf automake cmake curl jre8-openjdk gawk gperf libao alsa-lib libass avahi bluez-libs libbluray \
+
sudo pacman --needed --asdeps -S alsa-lib autoconf automake avahi bluez-libs bzip2 cmake curl cwiid dbus ffmpeg \
bzip2 libcap libcdio libcec curl dbus fontconfig freetype2 fribidi giflib mesa glu libjpeg-turbo libltdl lzo libmicrohttpd \
+
flatbuffers fmt fontconfig freetype2 fribidi fstrcmp gawk giflib glu gperf jre8-openjdk libao libass libbluray \
libmpcdec libnfs pcre libplist libpng libpulse shairplay smbclient sqlite libssh openssl ffmpeg taglib tinyxml libtool \
+
libcap libcdio libcec libcrossguid libjpeg-turbo libltdl libmariadbclient libmicrohttpd libmpcdec libnfs libplist \
libsystemd libusb libva libvdpau libxml2 libxmu libxrandr libxslt libxt lsb-release rapidjson nasm python2 python2-pillow \
+
libpng libpulse libssh libsystemd libtool libusb libva libvdpau libxml2 libxmu libxrandr libxslt libxt lsb-release \
swig yasm zlib libmariadbclient libcrossguid flatbuffers
+
lzo mesa nasm openssl pcre python2 python2-pillow rapidjson shairplay smbclient sqlite swig taglib tinyxml yasm zlib
 
</syntaxhighlight>
 
</syntaxhighlight>
  
In addition to those, Kodi needs a few packages that are currently unavailable in the official repo, but they can be installed from the AUR (Arch User Repo).
+
In addition to those, Kodi needs a few packages that are currently unavailable in the official repo, but they can be installed from the AUR (Arch User Repo)[https://aur.archlinux.org/].
 
 
We need the yaourt package in order to install packages from the AUR, so let's install it first
 
 
 
<syntaxhighlight lang="bash">
 
sudo pacman -S yaourt
 
</syntaxhighlight>
 
 
 
Once yaourt is installed, we can now get the last packages Kodi needs
 
 
 
 
<syntaxhighlight lang="bash">
 
<syntaxhighlight lang="bash">
yaourt -S cwiid fmt fstrcmp
+
cwiid fstrcmp
 
</syntaxhighlight>
 
</syntaxhighlight>
  
 +
Those can either be installed manually[https://wiki.archlinux.org/index.php/Arch_User_Repository#Installing_packages] or by using a AUR Helpers[https://wiki.archlinux.org/index.php/AUR_helpers].
  
 
''Optional:'' For developers and anyone else who compiles frequently it is recommended to use ccache
 
''Optional:'' For developers and anyone else who compiles frequently it is recommended to use ccache

Revision as of 09:52, 14 May 2019

The recommended method to build/install Kodi on Arch Linux or Manjaro (and other Arch clones), is to build from a PKGBUILD rather than building/installing by hand. The primary reason to build this way is that it allows all files to be managed by pacman which is adventitious for numerous reasons.

One can download a PKGBUILD for Kodi from the AUR which hosts kodi-devel. The remainder of this article shows steps to manually build and install.

1 Getting the source code

First, we are going to install git, which is needed to download the Kodi source-code. Enter the following into the command line.

sudo pacman -S git

Once git is installed, we can now get the Kodi source-code

cd $HOME
git clone git://github.com/xbmc/xbmc.git kodi


2 Installing the required packages

Kodi needs several third party packages, most of them can be installed from the official Arch/Manjaro repository

sudo pacman --needed --asdeps -S alsa-lib autoconf automake avahi bluez-libs bzip2 cmake curl cwiid dbus ffmpeg \
flatbuffers fmt fontconfig freetype2 fribidi fstrcmp gawk giflib glu gperf jre8-openjdk libao libass libbluray \
libcap libcdio libcec libcrossguid libjpeg-turbo libltdl libmariadbclient libmicrohttpd libmpcdec libnfs libplist \
libpng libpulse libssh libsystemd libtool libusb libva libvdpau libxml2 libxmu libxrandr libxslt libxt lsb-release \
lzo mesa nasm openssl pcre python2 python2-pillow rapidjson shairplay smbclient sqlite swig taglib tinyxml yasm zlib

In addition to those, Kodi needs a few packages that are currently unavailable in the official repo, but they can be installed from the AUR (Arch User Repo)[1].

cwiid fstrcmp

Those can either be installed manually[2] or by using a AUR Helpers[3].

Optional: For developers and anyone else who compiles frequently it is recommended to use ccache

sudo pacman -S ccache

3 How to compile

To create the Kodi executable manually perform these steps:

Notes
  • By adding -j<number> to the 'cmake --build' command, you describe how many concurrent jobs will be used. So for dualcore the command is: make -j2
  • You may need to run the 'make install' command with sudo if your user doesn't have write permissions to the prefix you have provided.
cd $HOME/kodi/
mkdir kodi-build
cd kodi-build
cmake .. -DCMAKE_INSTALL_PREFIX=/usr/local
cmake --build . -- VERBOSE=1 -j4
sudo make install

This will install Kodi in the prefix provided (/usr/local).


4 How to run

How to run xbmc depends on the type of installation you have done. If you chose to install Kodi using the '/usr' or '/usr/local' prefix, you can just issue 'kodi' in a teminal session.

kodi

You can also simply run from the application menu ofcourse.


In case you've overridden the prefix to install Kodi into some non-standard location, you will have to run kodi from a terminal, specifying the full path

/opt/kodi/bin/kodi


5 Uninstalling

If you ever need to uninstall Kodi, you can use the following command

cd $HOME/kodi/kodi-build
sudo make uninstall


6 See also