TOC 1. Introduction 2. Getting the source code 3. Installing the required Ubuntu packages 4. How to compile 5. Uninstalling ----------------------------------------------------------------------------- 1. Introduction ----------------------------------------------------------------------------- We currently recommend Ubuntu Precise(12.04) or later. A gfx-adapter with OpenGL acceleration is highly recommended and 24/32 bitdepth is required with OpenGL. NOTE TO NEW LINUX USERS: All lines that are prefixed with the '$' character are commands that need to be typed into a terminal window / console (similar to the command prompt for Windows). Note that the '$' character itself should NOT be typed as part of the command. ----------------------------------------------------------------------------- 2. Getting the source code ----------------------------------------------------------------------------- $ sudo apt-get install git-core $ cd $HOME $ git clone git://github.com/xbmc/xbmc.git xbmc ----------------------------------------------------------------------------- 3. Installing the required Ubuntu packages ----------------------------------------------------------------------------- Two methods exist to install the required Ubuntu packages: [NOTICE] For supported old Ubuntu versions, some packages might be outdated. For those, you can either compile them manually, or use our backports available from our official stable PPA: http://launchpad.net/~team-xbmc/+archive/ppa -------------------------------------------------------------- 3a. Use a single command to get all build dependencies -------------------------------------------------------------- [NOTICE] Supported on ubuntu >= 11.10 (oneiric) You can get all build dependencies used for building the packages on the PPA Add the unstable and build-depends PPAs: $ sudo apt-get install python-software-properties software-properties-common $ sudo add-apt-repository ppa:team-xbmc/unstable $ sudo add-apt-repository ppa:team-xbmc/xbmc-ppa-build-depends $ sudo apt-get update Here is the magic command to get the build dependencies (used to compile the version on the PPA). $ sudo apt-get build-dep xbmc * Optional: If you do not want xbmc to be installed via PPA, you can removed the PPAs again: $ sudo add-apt-repository -r ppa:team-xbmc/unstable $ sudo add-apt-repository -r ppa:team-xbmc/xbmc-ppa-build-depends *** Avoid using "aptitude" for the build-dep command. It doesn't resolve everything. *** For developers and anyone else who compiles frequently it is recommended to use ccache $ sudo apt-get install ccache *** A tip for those with multiple computers at home is to check out distcc (totally unsupported from xbmc of course) $ sudo apt-get install distcc -------------------------------------------------------------------- 3b. Alternative: Manual dependency installation -------------------------------------------------------------------- For Ubuntu (all versions >= 7.04): $ sudo apt-get install automake bison build-essential cmake curl cvs default-jre fp-compiler gawk gdc gettext git-core gperf libasound2-dev libass-dev libboost-dev libboost-thread-dev libbz2-dev libcap-dev libcdio-dev libcurl3 libcurl4-gnutls-dev libdbus-1-dev libenca-dev libflac-dev libfontconfig-dev libfreetype6-dev libfribidi-dev libglew-dev libiso9660-dev libjasper-dev libjpeg-dev liblzo2-dev libmad0-dev libmicrohttpd-dev libmodplug-dev libmpeg2-4-dev libmpeg3-dev libmysqlclient-dev libnfs-dev libogg-dev libogg-dev libpcre3-dev libplist-dev libpng-dev libpulse-dev libsdl-dev libsdl-gfx1.2-dev libsdl-image1.2-dev libsdl-mixer1.2-dev libsmbclient-dev libsqlite3-dev libssh-dev libssl-dev libtiff-dev libtinyxml-dev libtool libudev-dev libusb-dev libvdpau-dev libvorbisenc2 libxml2-dev libxmu-dev libxrandr-dev libxrender-dev libxslt1-dev libxt-dev libyajl-dev mesa-utils nasm pmount python-dev python-imaging python-sqlite swig unzip yasm zip zlib1g-dev For >= 10.10: $ sudo apt-get install autopoint libltdl-dev On 8.10 and older versions, libcurl is outdated and thus XBMC will not compile properly. In this case you will have to manually compile the latest version. $ wget http://curl.sourceforge.net/download/curl-7.19.7.tar.gz $ tar -xzf curl-7.19.7.tar.gz $ cd curl-7.19.7 $ ./configure --disable-ipv6 --without-libidn --disable-ldap --prefix=/usr $ make $ sudo make install For >= 12.10 $ sudo apt-get install libtag1-dev For <= 12.04 We need a new version of taglib than what is available. We supply a Makefile in lib/taglib to make it easy to install into /usr/local. $ sudo apt-get remove libtag1-dev $ make -C lib/taglib $ sudo make -C lib/taglib install Unless you are proficient with how linux libraries and versions work, do not try to provide it yourself, as you will likely mess up for other programs. ----------------------------------------------------------------------------- 4. How to compile ----------------------------------------------------------------------------- See README.linux ----------------------------------------------------------------------------- 4.1. Test Suite ----------------------------------------------------------------------------- See README.linux ----------------------------------------------------------------------------- 5. Uninstalling ----------------------------------------------------------------------------- $ sudo apt-get remove xbmc* EOF