aboutsummaryrefslogtreecommitdiff
path: root/docs/README.ubuntu
blob: f922ce3a7d396bda02e4e750a9d619944a228927 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
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 <branch> 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 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 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