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)
(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.
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 |
ou mettre à jour libaudiofile vers une version plus récente.
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 |
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.
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.
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