Merge remote-tracking branch 'fetzerch/feature-edl' into pvrapi_1_7_0. Github issue...
[vuplus_xbmc] / docs / README.ubuntu
1 TOC
2 1. Introduction
3 2. Getting the source code
4 3. Installing the required Ubuntu packages
5 4. How to compile
6 5. Uninstalling
7
8 -----------------------------------------------------------------------------
9 1. Introduction
10 -----------------------------------------------------------------------------
11
12 We currently recommend Ubuntu Hardy(8.04) or later.
13 A gfx-adapter with OpenGL acceleration is highly recommended and 24/32 
14 bitdepth is required with OpenGL.
15
16 NOTE TO NEW LINUX USERS: All lines that are prefixed with the '#'
17 character are commands that need to be typed into a terminal window /
18 console (similar to the command prompt for Windows). Note that the '#'
19 character itself should NOT be typed as part of the command.
20
21 -----------------------------------------------------------------------------
22 2. Getting the source code
23 -----------------------------------------------------------------------------
24
25    # sudo apt-get install git-core
26    # cd $HOME
27    # git clone git://github.com/xbmc/xbmc.git xbmc
28
29 -----------------------------------------------------------------------------
30 3. Installing the required Ubuntu packages
31 -----------------------------------------------------------------------------
32
33 Two methods exist to install the required Ubuntu packages:
34
35 [NOTICE] For supported old Ubuntu versions, some packages might be outdated.
36          For those, you can either compile them manually, or use our backports
37          available from our official PPA:
38
39          http://launchpad.net/~team-xbmc/+archive/ppa
40
41 --------------------------------------------------------------------
42 3.1. Copy and paste the following line corresponding to your system
43 --------------------------------------------------------------------
44
45 For Ubuntu (all versions >= 7.04):
46
47    # sudo apt-get install git-core build-essential gawk pmount libtool nasm yasm automake cmake gperf zip unzip bison libsdl-dev libsdl-image1.2-dev libsdl-gfx1.2-dev libsdl-mixer1.2-dev libfribidi-dev liblzo2-dev libfreetype6-dev libsqlite3-dev libogg-dev libasound2-dev python-sqlite libglew-dev libcurl3 libcurl4-gnutls-dev libxrandr-dev libxrender-dev libmad0-dev libogg-dev libvorbisenc2 libsmbclient-dev libmysqlclient-dev libpcre3-dev libdbus-1-dev libhal-dev libhal-storage-dev libjasper-dev libfontconfig-dev libbz2-dev libboost-dev libenca-dev libxt-dev libxmu-dev libpng-dev libjpeg-dev libpulse-dev mesa-utils libcdio-dev libsamplerate-dev libmpeg3-dev libflac-dev libiso9660-dev libass-dev libssl-dev fp-compiler gdc libmpeg2-4-dev libmicrohttpd-dev libmodplug-dev libssh-dev gettext cvs python-dev libyajl-dev libboost-thread-dev libplist-dev libusb-dev libudev-dev libtinyxml-dev libcap-dev curl swig default-jre libtiff-dev
48
49 For >= 10.10:
50    # sudo apt-get install autopoint libltdl-dev
51
52 On 8.10 and older versions, libcurl is outdated and thus XBMC will not compile properly.
53 In this case you will have to manually compile the latest version.
54    # wget http://curl.sourceforge.net/download/curl-7.19.7.tar.gz
55    # tar -xzf curl-7.19.7.tar.gz
56    # cd curl-7.19.7
57    # ./configure --disable-ipv6 --without-libidn --disable-ldap --prefix=/usr
58    # make
59    # sudo make install
60
61 For >= 12.10
62    # sudo apt-get install libtag1-dev
63
64 For <= 12.04
65
66 We need a new version of taglib than what is available. We supply a Makefile in
67 lib/taglib to make it easy to install into /usr/local.
68
69    # make -C lib/taglib
70    # sudo make -C lib/taglib install
71
72 Unless you are proficient with how linux libraries and versions work, do not
73 try to provide it yourself, as you will likely mess up for other programs.
74
75 --------------------------------------------------------------
76 3.2. Use a single command to get all build dependencies
77 --------------------------------------------------------------
78
79 You can get all build dependencies used for building the packages on the PPA. For this, you 
80 need to specify the PPA in your apt sources. Please find the documentation on how to add a
81 PPA to your system here: 
82
83    http://launchpad.net/+help/soyuz/ppa-sources-list.html
84
85 The PPA used for XBMC (developpement version) is located on the following page:
86
87    http://launchpad.net/~team-xbmc/+archive/unstable
88
89 [Note 1] Click on "Technical details about this PPA" to display the sources.list entries.
90
91 [Note 2] If you are using a distribution that has outdated libraries, do not forget to use 
92          the following ppa:
93          http://launchpad.net/~team-xbmc/+archive/ppa
94
95 Update apt:
96    # sudo apt-get update
97
98 Here is the magic command to get the build dependencies (used to compile the version on the PPA).
99    #  sudo apt-get build-dep xbmc
100
101 *** For Hardy add "deb http://ppa.launchpad.net/team-xbmc/xbmc-ppa-build-depends/ubuntu hardy main" to sources.list
102
103 *** Avoid using "aptitude" for the build-dep command. It doesn't resolve everything.
104
105 *** For developers and anyone else who compiles frequently it is recommended to use ccache
106 sudo apt-get install ccache
107
108 *** A tip for those with multiple computers at home is to check out distcc (totally unsupported from xbmc of course)
109 sudo apt-get install distcc
110
111 -----------------------------------------------------------------------------
112 4. How to compile
113 -----------------------------------------------------------------------------
114 See README.linux
115
116 -----------------------------------------------------------------------------
117 4.1. Test Suite
118 -----------------------------------------------------------------------------
119 See README.linux
120
121 -----------------------------------------------------------------------------
122 5. Uninstalling
123 -----------------------------------------------------------------------------
124 $ sudo apt-get remove xbmc*
125
126 EOF
127