Compiling Rivendell from Source on Fedora 10

From Rivendell Wiki

Jump to: navigation, search

-- WARNING -- This is a work in progress, used to update the guide for fedora 8' 'I haven't got it to compile yet. YMMV

Contents

Introduction

This is a step by step guide on how to compile Rivendell from source and install it on Fedora 10. And is based on Compiling Rivendell from Source on Fedora 8 It assumes you have a default Fedora 10 install.

A command with # before it indicates it needs to be run as root. A command with $ before it means it can be run as a regular user.

Install the mysql server

Rivendell uses the mysql database server to store all its information.

# yum install mysql-server

Add mysql server to the default runlevels so it starts on boot:

# chkconfig mysqld on

Start mysqld:

# service mysqld start

You will then be given a message which tells you to set your mysql root password. Later on you will use the mysql root username and password you set here with rdadmin to initialize Rivendell's database. We will use mysql_secure_installation. You can run this step now, or run it at the very end (using a blank password for the root mysql account through this guide)

# /usr/bin/mysql_secure_installation

(And follow the prompts)

Set up prerequisites

You'll need to run these commands as root: $ su <enter your root password>

You will need the rpmfusion repository for some packages (mpg321). I assume you can skip this when you aren't using mp3-files.

# rpm -ivh http://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-stable.noarch.rpm
# rpm -ivh http://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-stable.noarch.rpm
# yum install gcc-c++
# yum install qt3-devel qt4-devel qt4 qt4-x11 qt-MySQL
# yum install mpg321
# yum install libsamplerate-devel
# yum install flac-devel
# yum install id3lib-devel libid3tag-devel
# yum install libXmu-devel

Install Jack and/or ALSA:

Jack:

# yum install jack-audio-connection-kit-devel jack-audio-connection-kit

Alsa:

# yum install alsa-lib-devel alsa-lib

The following are already installed in a default Fedora install but for some reason if you have trouble configuring rivendell and it complains about any of these you may need to install them manually:

# yum install libsamplerate
# yum install cdparanoia 
# yum install sox
# yum install libid3tag id3lib

you can now drop back to a normal user

  1. exit

Install Rivendell

Download Rivendell 1.0.0rc1:

$ wget http://www.rivendellaudio.org/ftpdocs/rivendell/rivendell-1.4.0.tar.gz

Extract Rivendell from the tar archive:

$ tar -xzvf rivendell-1.4.0r.tar.gz

Change directory to the Rivendell directory:

$ cd rivendell-1.4.0

Run autogen $ ./autogen.sh Run the configure script which checks to make sure you have all dependencies installed:

$ ./configure

It should go through without any errors if the dependencies are setup correctly. If not it will complain and it should indicate what is missing. Use yum to install whatever it is complaining about.

Once it goes through completely without errors it is time to compile the software. This can take a long time. I This is the ideal moment to get a cup of coffee (or two, or three):

$ make

When it is finished assuming it finished without any errors you can install the software, you'll need to be root to do this:

$ su -
<enter your root password>
# make install

Post Installation setup

Configure Rivendell

Copy the Rivendell configuration file from the install directory to /etc/

# cp /home/<regular user name>/rivendell-1.4.0/conf/rd.conf-sample /etc/rd.conf

Open the /etc/rd.conf configuration file in a text editor like vi or nano:

# nano /etc/rd.conf

Change the following lines:

AudioOwner=myself
AudioGroup=users

Change them to your actual normal user and group (or another user you've created for rivendell'. For example, my regular user and group are both ben:

AudioOwner=ben
AudioGroup=ben

Open the /etc/init.d/rivendell init script in a text editor:

# nano /etc/init.d/rivendell

Change the following line:

# Required-Start:    $remote_fs mysql

Change the incorrect mysql reference to mysqld so that the mysql server is started before the Rivendell services.

# Required-Start:    $remote_fs mysqld

Make Rivendell start with your system

Add the startup script to chkconfig:

# chkconfig --add rivendell

Turn Rivendell on for the default runlevels so it starts on boot:

# chkconfig rivendell on

Update the shared libraries cache to use the new Rivendell shared libraries installed in /usr/local/lib :

# ldconfig /usr/local/lib

Create a configuration file for the Rivendell shared libraries so they will be added to the shared libraries cache every time on boot:

# cd /etc/ld.so.conf.d/
# echo "/usr/local/lib" > rivendell.conf

Other

Create the directory where Rivendell will store audio files:

# mkdir /var/snd

Set the owner and group to the regular user you use. replace <regular user>:<regular group> with for example, ben:ben

# chown <regular user>:<regular group> /var/run/rivendell
# chown <regular user>:<regular group> /var/snd

Create the ALSA sound devices for Rivendell:

# nano /etc/asound.conf:
pcm.rd0 {
        type hw
        card 0
}

ctl.rd0 {
        type hw
        card 0
}

Save & exit

Start Rivendell

Run rdadmin for the first time. It will prompt you for the mysql user and password you created earlier

$ rdadmin

Start the Rivendell daemons:

# service rivendell start

Run rdadmin again

$ rdadmin 

login with user: admin and password <blank>

Now you can run any other Rivendell applications like rdairplay, rdlibrary, rdloglogedit, etc.

You will probably want to set the default audio ports for playing as explained in the Post Installation errata:

http://rivendell.tryphon.org/wiki/index.php/Post_installation_errata

Have fun!

Personal tools