Project

General

Profile

Building » History » Version 25

Jaroslav Kysela, 2015-06-02 10:43

1 1 Adam Sutton
h1. Building
2
3 2 Adam Sutton
h2. Prerequisites
4
5 3 Adam Sutton
Before you can build Tvheadend you will need several packages installed on your development machine. 
6 2 Adam Sutton
7
The specific details will vary between distributions so we only cover the major ones here.
8
9
h3. Debian/Ubuntu
10
11
<pre>
12 7 Adam Sutton
$ sudo aptitude install build-essential git pkg-config libssl-dev bzip2 wget
13 2 Adam Sutton
</pre>
14
15
> Optional:
16
<pre>
17 9 John Törnblom
$ sudo aptitude install libavahi-client-dev zlib1g-dev libavcodec-dev libavutil-dev libavformat-dev libswscale-dev
18 2 Adam Sutton
</pre>
19
20 17 Bob Lightfoot
h3. Redhat / Centos / Fedora
21 2 Adam Sutton
22 18 Bob Lightfoot
h4. Redhat/Centos/Fedora Build assumptions
23 13 Bob Lightfoot
24 12 Bob Lightfoot
<pre>
25 25 Jaroslav Kysela
Redhat/Centos/Fedora are a package managed OS and as such tvheadend should be installed from an rpm on a production system.
26
But you may run tvheadend from the build tree, of course.
27 12 Bob Lightfoot
</pre>
28 13 Bob Lightfoot
29 24 Bob Lightfoot
<pre>
30 25 Jaroslav Kysela
sudo yum groups install "C Development Tools and Libraries"
31
sudo yum install zlib-devel avahi-devel dbus-devel openssl-devel python
32 12 Bob Lightfoot
</pre>
33 2 Adam Sutton
34
h3. Gentoo
35
36
TODO: this needs adding
37
38
h2. Get Source
39
40
Next you must obtain the source code, this is hosted on "github":https://github.com/tvheadend/tvheadend.
41
42
To clone the repository simple run the command:
43
44
<pre>
45
$ git clone https://github.com/tvheadend/tvheadend.git
46
</pre>
47
48
h2. Configuring
49
50
TVHeadend comes with a configuration script that allows you to enable/disable optional components and set install paths, etc.
51
52
Most people will be fine with the defaults and can run:
53
54
<pre>
55
$ ./configure
56
</pre>
57
58
However for more advanced options, please run the following:
59
60
<pre>
61
$ ./configure --help
62
</pre>
63
64
And then re-run configure with the required options, i.e.:
65
66
<pre>
67 10 John Törnblom
$ ./configure --disable-dvbscan
68 2 Adam Sutton
</pre>
69
70
h2. Compiling
71
72 3 Adam Sutton
To compile Tvheadend run:
73 2 Adam Sutton
74
<pre>
75
$ make
76
</pre>
77
78
h2. Installing
79
80 3 Adam Sutton
It is possible to install Tvheadend using make, based on the ./configure options, by running:
81 2 Adam Sutton
82
<pre>
83
$ sudo make install
84
</pre>
85
86 11 Adam Sutton
However it's recommend that you run from the build directory for development/testing (see [[Development]]):
87 2 Adam Sutton
88
<pre>
89
$ ./build.linux/tvheadend
90
</pre>
91
92 4 Adam Sutton
NOTE: its VERY important you run test builds from git root, so command should look similar to above.
93
94 3 Adam Sutton
And that you build a [[Packaging|package]] if you wish to install Tvheadend permanently and hook into the system start scripts etc.
95 2 Adam Sutton
96
Use of make install is not very traceable and so removal can sometimes be painful, and it might overwrite an existing installation.
97
98
h2. Packaging
99
100 3 Adam Sutton
For more information about packaging Tvheadend please see [[Packaging|here]]
101 2 Adam Sutton
102
h2. Reporting Problems
103
104 3 Adam Sutton
If you have problems with a custom compiled version of Tvheadend its important that any issue reports include details of the specific version of source you used. For more details please see [[bugreporting|here]].