TOC 1. Introduction 2. Getting the source code 3. Installing the required Ubuntu packages 4. How to compile 5. Uninstalling ----------------------------------------------------------------------------- 1. Introduction ----------------------------------------------------------------------------- A graphics-adapter with OpenGL acceleration is highly recommended. 24/32 bitdepth is required along 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 ----------------------------------------------------------------------------- .0 $ cd $HOME .1 $ git clone git://github.com/xbmc/xbmc.git xbmc Note: You can clone any specific branch. .1 $ git clone -b 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 older 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: .0 $ sudo apt-get install python-software-properties software-properties-common .1 $ sudo add-apt-repository ppa:team-xbmc/xbmc-nightly .2 $ sudo add-apt-repository ppa:team-xbmc/xbmc-ppa-build-depends .3 $ 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/xbmc-nightly $ sudo add-apt-repository -r ppa:team-xbmc/xbmc-ppa-build-depends Note: Do not use "aptitude" for the build-dep command. It doesn't resolve everything properly. For developers and anyone else who compiles frequently it is recommended to use ccache $ sudo apt-get install ccache Tip: For those with multiple computers at home is to try out distcc (fully 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.04 XBMC needs a new version of taglib other than what is available at this time. 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 or use prepackaged from the XBMC PPA. $ sudo apt-get install libtag1-dev 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 ----------------------------------------------------------------------------- Remove any PPA installed XBMC. $ sudo apt-get remove xbmc* See README.linux/Uninstalling for removing compiled versions of XBMC. EOF