Building » History » Revision 31
Revision 30 (saen acro, 2022-05-03 00:41) → Revision 31/32 (saen acro, 2022-05-03 00:47)
{{toc}}
h1. Building
h2. Prerequisites
Before you can build Tvheadend you will need several packages installed on your development machine.
The specific details will vary between distributions so we only cover the major ones here.
h3. Debian/Ubuntu
<pre>
$ sudo aptitude install build-essential git pkg-config libssl-dev bzip2 wget
</pre>
> Optional:
<pre>
$ sudo aptitude install libavahi-client-dev zlib1g-dev libavcodec-dev libavutil-dev libavformat-dev libswscale-dev libavresample-dev
</pre>
h3. Redhat / Centos / Fedora
h4. Redhat/Centos/Fedora Build assumptions
<pre>
Redhat/Centos/Fedora are a package managed OS and as such tvheadend should be installed from an rpm on a production system.
But you may run tvheadend from the build tree, of course.
</pre>
<pre>
sudo yum groups install "C Development Tools and Libraries"
sudo yum install zlib-devel avahi-devel dbus-devel openssl-devel python
</pre>
h3. Gentoo
TODO: this needs adding
h3. Open SuSE
You need to install:
Install:
git
make
gcc
dvbv-devel
gettext-toools
libopenssl-devel
libavahi-devel
liburiparser-devel
packman-essentials
packman-multimedia
h2. Get Source
Next you must obtain the source code, this is hosted on "github":https://github.com/tvheadend/tvheadend.
To clone the repository simple run the command:
<pre>
$ git clone https://github.com/tvheadend/tvheadend.git
</pre>
h2. Configuring
TVHeadend comes with a configuration script that allows you to enable/disable optional components and set install paths, etc.
Most people will be fine with the defaults and can run:
<pre>
$ ./configure
</pre>
However for more advanced options, please run the following:
<pre>
$ ./configure --help
</pre>
And then re-run configure with the required options, i.e.:
<pre>
$ ./configure --disable-dvbscan
</pre>
For more information about Tvheadend configuration options please see [[ConfigurationOptions|here]]
h2. Compiling
To compile Tvheadend run:
<pre>
$ make
</pre>
h2. Installing
It is possible to install Tvheadend using make, based on the ./configure options, by running:
<pre>
$ sudo make install
</pre>
However it's recommend that you run from the build directory for development/testing (see [[Development]]):
<pre>
$ ./build.linux/tvheadend
</pre>
NOTE: its VERY important you run test builds from git root, so command should look similar to above.
And that you build a [[Packaging|package]] if you wish to install Tvheadend permanently and hook into the system start scripts etc.
Use of make install is not very traceable and so removal can sometimes be painful, and it might overwrite an existing installation.
NOTE: The "prefix" ie where to put the tvheadend executable is a configurable option. If make install appears to not work (as in: i still get the old version) check:
/usr/local/bin/
/usr/bin/
In case you are referencing the wrong executable. A "sudo find / -name tvheadend" is a good way to find stray copies.
h2. Packaging
For more information about packaging Tvheadend please see [[Packaging|here]]
h2. Reporting Problems
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]].
h2. If you have other problems
Visit our forum thread "here":https://tvheadend.org/boards/4/topics/24116
h1. Building
h2. Prerequisites
Before you can build Tvheadend you will need several packages installed on your development machine.
The specific details will vary between distributions so we only cover the major ones here.
h3. Debian/Ubuntu
<pre>
$ sudo aptitude install build-essential git pkg-config libssl-dev bzip2 wget
</pre>
> Optional:
<pre>
$ sudo aptitude install libavahi-client-dev zlib1g-dev libavcodec-dev libavutil-dev libavformat-dev libswscale-dev libavresample-dev
</pre>
h3. Redhat / Centos / Fedora
h4. Redhat/Centos/Fedora Build assumptions
<pre>
Redhat/Centos/Fedora are a package managed OS and as such tvheadend should be installed from an rpm on a production system.
But you may run tvheadend from the build tree, of course.
</pre>
<pre>
sudo yum groups install "C Development Tools and Libraries"
sudo yum install zlib-devel avahi-devel dbus-devel openssl-devel python
</pre>
h3. Gentoo
TODO: this needs adding
h3. Open SuSE
You need to install:
Install:
git
make
gcc
dvbv-devel
gettext-toools
libopenssl-devel
libavahi-devel
liburiparser-devel
packman-essentials
packman-multimedia
h2. Get Source
Next you must obtain the source code, this is hosted on "github":https://github.com/tvheadend/tvheadend.
To clone the repository simple run the command:
<pre>
$ git clone https://github.com/tvheadend/tvheadend.git
</pre>
h2. Configuring
TVHeadend comes with a configuration script that allows you to enable/disable optional components and set install paths, etc.
Most people will be fine with the defaults and can run:
<pre>
$ ./configure
</pre>
However for more advanced options, please run the following:
<pre>
$ ./configure --help
</pre>
And then re-run configure with the required options, i.e.:
<pre>
$ ./configure --disable-dvbscan
</pre>
For more information about Tvheadend configuration options please see [[ConfigurationOptions|here]]
h2. Compiling
To compile Tvheadend run:
<pre>
$ make
</pre>
h2. Installing
It is possible to install Tvheadend using make, based on the ./configure options, by running:
<pre>
$ sudo make install
</pre>
However it's recommend that you run from the build directory for development/testing (see [[Development]]):
<pre>
$ ./build.linux/tvheadend
</pre>
NOTE: its VERY important you run test builds from git root, so command should look similar to above.
And that you build a [[Packaging|package]] if you wish to install Tvheadend permanently and hook into the system start scripts etc.
Use of make install is not very traceable and so removal can sometimes be painful, and it might overwrite an existing installation.
NOTE: The "prefix" ie where to put the tvheadend executable is a configurable option. If make install appears to not work (as in: i still get the old version) check:
/usr/local/bin/
/usr/bin/
In case you are referencing the wrong executable. A "sudo find / -name tvheadend" is a good way to find stray copies.
h2. Packaging
For more information about packaging Tvheadend please see [[Packaging|here]]
h2. Reporting Problems
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]].
h2. If you have other problems
Visit our forum thread "here":https://tvheadend.org/boards/4/topics/24116