The K Desktop Environment

Next Previous Table of Contents

2. Installation

2.1 How to obtain aRts

binary releases

Of course the most convenient method of getting aRts installed is to use a binary package. Basically, your linux distribution should ship with one, and if it doesn't, complain ;). SuSE linux for instance does.

However, there is a solution when you have a distribution that doesn't come with aRts, and you desperately want a binary package anyway, perhaps because you can't get the sources compiled, or the results don't work at all. Starting with aRts 0.3.3, there will be a static binary available at the aRts homepage. The advantage of this is that the static binary should run on almost any linux, regardless of the distribution, kernel, or libraries. But it is about 8 Megs large, so if you find another way of getting aRts installed, use that.

The following section will however be focused on the classic installation from source.

regular (stable?) source releases

The best thing is to go to the aRts homepage at http://linux.twc.de/arts, and then download it from there (or mirrors). Another possibility is to look at ftp://ftp.kde.org/pub/kde/unstable/apps/multimedia/sound for a recent arts-x.y.z.tgz archive.

latest development versions

Arts is developed in the KDE CVS in the module kmusic. So if you have access to that, simply use cvs checkout kmusic and you have the latest version.

You can also get snapshots when you don't have CVS access using cvsup. The detailed procedure is documented at http://www.kde.org.

2.2 Requirements

Currently it is only tested to compile and run with the following software (higher versions are allowed ;) installed on your computer:

Important note for libc5 systems

(From soundtracker readme, which has the same problem): This program makes extensive use of threads. This can be troublesome if you are using a libc5 system. You need thread-safe X libraries in this case. If ArtsBuilder keeps crashing as soon as you start it (with strange X I/O errors), you don't have them.

You can get a precompiled version from

http://www.tu-harburg.de/~semk2104/soundtracker/threadedxlibs.tar.bz2

It's best not to install them over the old X libraries, but to put them into a private directory instead and to let the shell environment in bash:

export LD_LIBRARY_PATH=/path/to/threadedxlibs/directory

in csh/tcsh:

setenv LD_LIBRARY_PATH /path/to/threadedxlibs/directory

It also has been reported that compiling against qt-1.42 helped one user of a libc5 system who couldn't get aRts running with qt-1.44. It would be good if somebody could confirm/debug that.

Compiling with audiofile 0.1.6

Libaudiofile ships with a broken header file (with unbalanced brackets when __cplusplus is defined), which leads to the error

error: wav.cc: h:21 parse error before '}'

when trying to compile the wav-support in src/synthesizer. What you can do against that is:

  • either go to /usr/include/aupvlist.h and remove one of the two closing brackets looking like
                    #ifdef __cplusplus
                    }
                    #endif
                    
    

    that is on line 59 on my system.
  • or upgrade libaudiofile to a higer version.
The broken libaudiofile 0.1.6 for instance ships with Debian 2.1 or RedHat 6.0, so on this systems expect that problem.

Building without egcs

I suppose you should be able to use the software if you have gcc-2.7.x or gcc-2.8.x as well, but it is possible that you have to tune the configure stuff a little. (Report me, if you don't get it installed what goes wrong, I should be able to help you).

If you are using a non-GNU-compiler, you need at least good STL support. When you can build Mico and KDE with it, you should probably also be able to build aRts with it.

Building without linux

For other operating systems you need to provide another sound driver. Usually it should be possible to take the corresponding source from mpeg3play version 0.9.6 (the sound support of the synthesizer is based on their routines, see README.sound for details) and add realtime capabilities.

This has only been done for linux so far. Anyway, some people reported that aRts also runs under FreeBSD.

Building without KDE and Qt

Well, you can build arts without KDE and Qt. Use

configure --disable-kde

This will omit building artsbuilder (the visual editor for synthesis structures). Arts is not really fun without that though.

If you really want to do that, I recommend to read the section Porting below, and start a new GUI, for instance with

  • Gtk, Gnome and OrbIt
  • Java and the mico Java support
  • whatever else

2.3 Compilation and installation

If you are using a CVS snapshot, start with

Do start the actual compilation (this is for CVS users and users of regular releases), use

2.4 About root permissions

The synthesizer requires realtime priority to work nice. There are three possibilities:

Give the synthesizer binary appropriate rights

  1. Open a terminal windows on your X screen, become root (type su and enter your root password).
  2. Give artsserver.bin the rights:
         cd /usr/local/kde/bin
         chown root artsserver.bin
         chmod u+s artsserver.bin
    

    This will make it possible that the artsserver takes root rights by itself, so you don't need to care about it.

Start the server as root every time

If you start artsserver manually as root, you will be able to use artsbuilder with the appropriate realtime config (you can then start artsbuider as user).

Don't use root permissions

This is not so nice, because you'll hear that the sound produces clicks and breaks as you use the GUI.

2.5 Starting artsbuilder

Now you can start artsbuilder. Under KDE, the application should appear under the multimedia section of your K-menu (Arts Builder). If it's not there yet, you can try to restart your panel.

And now, you should be able to play with it.

Next Previous Table of Contents