# 2.2. Fichiers nécessaires

Actuellement, aRts se compile et fonctionne avec les logiciels suivants (mais ça marche aussi avec les versions plus récentes ;) :

- Linux 2.0.30 - http://www.linux.org

- Qt 1.32 - http://www.troll.no

- KDE 1.0 - http://www.kde.org

- mico 2.2.3, 2.2.7 or 2.3.0 - http://www.mico.org

  IMPORTANT!! Vous devez compiler mico avec --disable-mini-stl !! Sinon vous ne pouvez pas compiler aRts

  Mico-2.2.6 contient un bogue dans son compilateur idl qui introduit des erreurs dans les compteurs de références. Arts fonctionnera avec, mais le serveur continuera de tourner lorsque vous quittez ArtsBuilder, et peut être quelques pertes de mémoire se produiront - donc si vous voulez l'éviter, utilisez une autre version de mico.

- egcs 1.0.2 - http://egcs.cygnus.com

- libc6/glibc2 ou libc5 avec les bibliothèques X11 threadsafe (NdT : bibliothèques X11 garantissant une exécution sûre des threads (unités d'exécution au sein d'un programme)). (voir ci-dessous)

Remarques importantes pour les systèmes libc5

  (Extrait du fichier readme de sountracker, qui a le même problème) : ce programme utilise beaucoup les threads. Ceci peut être source de problèmes si vous utilisez un système libc5. Vous avez besoin des librairies X11 thread-safe dans ce cas. Si ArtsBuilder continue de planter dès que vous le démarrez (avec d'étranges erreurs d'entrée/sortie de X), vous ne les avez pas.

  Vous pouvez obtenir une version précompilée ici :

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

  Il est préférable de ne pas les installer par dessus les anciennes librairies X, mettez-les plutôt dans un répertoire séparé et définissez les variables d'environnement (sous bash) :

       export LD_LIBRARY_PATH=/path/to/threadedxlibs/directory

  sous csh/tcsh :

       setenv LD_LIBRARY_PATH
       /path/to/threadedxlibs/directory

  Il a aussi été rapporté que compiler avec qt-1.42 a aidé un utilisateur d'un système libc5 qui ne pouvait pas faire fonctionner aRts avec qt-1.44. Ce serait bien si quelqu'un pouvait me confirmer ou corriger ça.

Compiler avec audiofile 0.1.6

  Libaudiofile est livré avec un fichier d'entête incomplêt (avec une accolade non fermée quand __cplusplus est défini), qui entraîne l'erreur suivante :

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

  lorsqu'on essaie de compiler le support wave dans src/synthesizer. Pour corriger ça, vous pouvez :

  - soit aller à /usr/include/aupvlist.h et supprimer une des deux accolades fermées ressemblant à :

           1 #ifdef __cplusplus } #endif

    qui se trouve ligne 59 sur mon système.

  - ou mettre à jour libaudiofile vers une version plus récente.

  Le fichier libaudiofile 0.1.6 défectueux est livré par exemple avec la Debian 2.1 ou la RedHat 6.0, donc sur ces systèmes, attendez-vous à rencontrer ce problème.
Problèmes lors de l'exécution d'idl sur certains systèmes

  Sur certains systèmes (comme dans les versions récentes de la distribution Redhat 6), vous aurez un message d'erreur du genre :

         1  /usr/local/bin/idl --query-server-for-narrow synth.idl
         2 /usr/local/bin/idl: error in loading shared libraries:       libmico2.2.7.so:
         3 cannot open shared object file:       No such file or directory

  Pour corriger cela, ajoutez /usr/local/lib dans le fichier /etc/ld.so.conf en tant que root, puis lancez ldconfig.
Compiler sans egcs

  Je suppose que vous pouvez utiliser le logiciel si vous avez gcc-2.7.x ou gcc-2.8.x aussi, mais il est possible que vous vouliez optimiser un peu le fichier de configuration. (Dites moi ce qui n'a pas fonctionné si vous n'arrivez pas à le compiler, je devrais pouvoir vous aider).

  Si vous utilisez un compilateur non-GNU, vous devez au moins avoir un bon support STL. Si vous arrivez à compiler Mico et KDE avec, vous pourrez alors probablement compiler aRts.

Compiler sans linux

  Pour les autres systèmes d'exploitation, vous devez fournir un autre pilote audio. Normalement il devrait être possible de récupérer les sources correspondantes à partir de mpeg3play version 0.9.6 (la gestion du son du synthétiseur est basée sur ces routines, voir README.sound pour de plus amples informations) et d'ajouter alors des capacités de traitement en temps réel.

  Cela a été fait uniquement pour linux jusqu'ici. En tout cas, certaines personnes ont dit que aRts tournait sous FreeBSD.

Compiler sans KDE et Qt

  Vous pouvez compiler aRts sans KDE et Qt. Utilisez

       configure --disable-kde

  Artsbuilder ne sera alors pas compilé (l'éditeur graphique de structure du synthétiseur). Arts n'est pas vraiment sympa sans cet éditeur.

  Si vous voulez vraiment le faire, je vous recommande de lire la section Portage ci-dessous, et de démarrer une nouvelle interface graphique, par exemple avec

  - Gtk, Gnome et OrbIt

  - Java et le support Java de mico

  - n'importe quelle autre interface