Installing Rhythmbox and Avoiding Common Problems

Rhythmbox uses the Gstreamer Multimedia framework to play music so it will not work unless you have an install of Gstreamer that can play your music files. This quick-guide will tell you how to get the mad<-Gstreamer<-Rhythmbox configuration. required by Rhythmbox, working.

Before You Begin

Firstly, if "./configure ; make ; make install" means nothing to you then you should probably not continue. Rhythmbox and Gstreamer are still under heavy developement and as such it is usually required to compile them from source. AFAIK only Redhat 8.0 and Mandrake 9.0 users will be able to use rpms.

Secondly, ALL the elements that I about to mention should be installed into the same path as your GNOME2 install. eg. If you have GNOME2 installed into /opt/gnome2 then you need to compile all the elements into /opt/gnome2 using 'configure --prefix=/opt/gnome2' , Almost all rhythmbox problems are caused by programs and libraries being in different paths.

Only use the binary packages of the below listed elements if you know exactly what you are doing - you are a lot less likely to run into problems if you compile yourself. And dont even think about using binaries if you have GNOME2 in a custom prefix. In theory if all the binaries use the same path as your GNOME2 install it should work but IMHO it's not work the hassle of trying.

You just need to manually compile mad into the same prefix as GARNOME and then use GARNOME to build the rest of the elements listed below. Easy as pie really, but most people don't know that you need mad in the same prefix and so their rhythmbox in GARNOME doesn't work

1. Install a supported MP3 decoder

I use mad and you should too unless you have any important reason not to. You can get it here: http://sourceforge.net/project/showfiles.php?group_id=12349 (The homepage is here: http://www.mars.org/home/rob/proj/mpeg/ )

Once you have installed mad test it by running

madplay /path/to/an/file.mp3

The MP3 file should be played. If it is not then you already have a problem and have no chance of being able to continue. See the end of this document for how to get help

Important note
If you use Mad RPMs(eg. the ones that came with your distro) make sure that you install all related RPMs. It is safest just to search your distro cds for all RPMs with the word mad in them. In particular look out for libmad and the libmad devel package.

Some people have been having trouble getting gstreamer to recognise mad. One solution to this problem seems to be to install libid3tag and all of it's related packages - in particular the devel ones.

Back to Top

2. Install gstreamer

Download and install/compile the core gstreamer package from: www.gstreamer.net. You should use the latest stable release. If you have Gnome2 installed in /usr then you can use the RPM. Otherwise you should grab the tarball and compile it manually.

Back to Top

3. Install gst-plugins

Download and install/compile the gst-plugins package from: www.gstreamer.net.The configure script will tell you what plugins are going to be compiled. Make sure that mad is listed.

Once you have installed the gst-plugins package you MUST run gst-register first as root and then as your ordinary user. Nothing will work if you don't do this.

You should now test the 3 elements so far by opening a console running:

gst-launch-ext /path/to/an/file.mp3
The MP3 file should be played. If it is not then you have a gstreamer problem. See the end of this document for how to get help.

Back to Top

4. Install monkey-media

Download and install/compile monkey-media from the download page. If you compile from source, install it into the same prefix as gstreamer.

Before you install monkey-media you need to have musicbrainz installed. If may have come with your distribution. If not you can find it at http://www.musicbrainz.org/download.html.

To use cvs* do

export CVSROOT=':pserver:anonymous@anoncvs.gnome.org:/cvs/gnome'
cvs -z3 co monkey-media

Gentoo Users: Before compiling monkey-media from CVS you may need to do:

emerge /usr/portage/sys-devel/libtool/libtool-1.4-r1.ebuild
emerge -P libtool

Back to Top

5. Install Rhythmbox

Download and install/compile rhythmbox from the download page. If you compile from source, install it into the same prefix as gstreamer.

To use cvs* do

export CVSROOT=':pserver:anonymous@anoncvs.gnome.org:/cvs/gnome'
cvs -z3 co rhythmbox

If you get an error about rhythmbox not being able to create a shell, make sure that Rhythmbox is compiled into the same prefix as Gnome. By default Rhythmbox and Monkey-Media will install into /usr/local so make sure that if your distro uses /usr that you specifiy this with './configure --prefix='

Back to Top

Appendix A: Rhythmbox Panel "Applet"

CVS Rhythmbox has support for the new gnome system tray or "Notification Area". This lets you control rhythmbox from your tray. To get the Notification Area from cvs* do

export CVSROOT=':pserver:anonymous@anoncvs.gnome.org:/cvs/gnome'
cvs -z3 co system-tray-applet
Once it's installed add it to your panel from the Utilites Panel Applet menu.

Back to Top

Appendix B: Compiling From CVS

* To compile from a CVS download do

./autogen.sh --prefix=/usr && make && make install

Assuming /usr is where gnome2 is installed.

Back to Top

Appendix C: Getting Help

The best places to get help are the GNOME User's Forum: http://help.gnomedesktop.org/forums/, and #rhythmbox on irc.gnome.org.

You are more likely to get help if you say that you have read this document and give details of what you have tried, how far you got, and what went wrong.

If you have any experiences installing rhythmbox or gstreamer that you feel would be useful to help me
improve this guide please post here: http://help.gnomedesktop.org/forums/viewtopic.php?t=327

Appendix D: Upgrading Rhythmbox

If you are upgrading it is advisable to delete your old Rhythmbox library and create a new one:

rm -rf ~/.gnome2/rhythmbox


MArk Finlay

© 2002 the rhythmbox team