Installing and using MythTV: System Configuration Requirements for Compiling MythTV.

Next Previous Contents

## 4. System Configuration Requirements for Compiling MythTV.

Before you compile MythTV from the current source tarball or from subversion, you may need to modify your system configuration in a few ways.

In general, if you install MythTV from pre-packaged binaries for your Linux distribution/version, you don't need to be too concerned about the issues in this section of the HOWTO - the install script for the packages should take care of them. However, this section is still recommended reading which may help if the packager skipped a step in their packaging.

## 4.1 Software requirements for compiling MythTV

### General requirements

MythTV is written in C++ and requires a fairly complete, but standard, compilation environment, including a recent g++ compiler, `make`, and appropriate header files for shared libraries. Any standard Linux distribution should be able to install a suitable compilation environment from its packaging system. Section 3.2 of this HOWTO provides some details of how to install the required environment for many distributions.

Subsequent sections of this chapter address the few oddities that you may have to adjust by hand before you compile MythTV.

The reference compilation system for MythTV is Ubuntu.

## 4.2 Shared-Library requirements for MythTV

### Modifying /etc/ld.so.conf

The runtime manager for shared libraries, /lib/ld.so, gets information about the locations and contents of shared libraries from `/etc/ld.so.cache`, a file created by ldconfig from information in `/etc/ld.so.conf`. Because MythTV installs shared libraries in `/usr/local/lib`, that directory needs to be added to the list of directories for ld.so to search when doing runtime linking of programs, if it is not already there. You do this, as root, by editing `/etc/ld.so.conf`, then running ldconfig. There are many ways to do this; to determine the way that your distribution is configured, type:

> `

>     $ cat /etc/ld.so.conf
>     include /etc/ld.so.conf.d/*.conf
>     $

> `

If you see that your .conf file consists of just the "include" line, then execute the following as root:

> `

>     $ sudo bash
>     # echo /usr/local/lib >> /etc/ld.so.conf.d/mythtv.conf
>     # /sbin/ldconfig
>     # exit
>     $

> `

If your .conf file has many individual entries in it, then type:

> `

>     $ sudo bash
>     # echo /usr/local/lib >> /etc/ld.so.conf
>     # /sbin/ldconfig
>     # exit
>     $

> `

## 4.3 Environment variable requirements for MythTV

### General requirements

### QT libraries and binaries

The compiler needs to be able to locate QT binaries and libraries in order to compile MythTV. QTDIR needs to be set and the directory holding the QT binaries needs to be added to your PATH. Your distribution may already be making these changes as a part of the installation of the software prerequisites detailed earlier.

One way to do this is as follows:

Open a shell and execute the following:

> `

>     $ echo $PATH
>     /usr/local/bin:/bin:/usr/bin:/usr/X11R6/bin:/usr/games:/usr/lib/qt4/bin:/home/mythtv/bin:
>     $ echo $QTDIR
>     /usr/lib/qt4
>     $ which qmake
>     /usr/bin/qmake

> `

If you don't see values like those above, do not proceed past this step until you have resolved this error. You may need to manually specify the QTDIR and PATH at the shell prompt before compiling.

Also, check that there has been a link created in `/usr/lib/qt4/mkspecs` called `default`. If not, you'll get errors during the compile. See the Troubleshooting Section for more information.

Next Previous Contents