[jackd] pilote firewire inconnu [résolu]

Applications multimedia / jeux
Nicocys
Hankyu
Messages : 24
Inscription : lun. 27 oct. 2008, 21:31

[jackd] pilote firewire inconnu [résolu]

Message par Nicocys »

Salut !

J'utilise Archlinux avec (plus ou moins de) bonheur depuis quelques mois maintenant.
(pour la petite histoire, avant c'était l'aller retour régulier entre Mandriva et Ubuntu, avec un passage par Debian...)
J'utilise pacman, un peu yaourt, et ça roule. Mais... forcément, tout ne vas pas ;)

Je tourne sur un vieux portable (un Dell inspiron 9100) qui a son micro qui marche pas terrible (ça crépite pas mal on va dire) et ses 2 prises jack toutes foireuses (plus de son sur le casque, et le micro hs). C'est pas un problème logiciel, ça le fait aussi sous win ou sous 2 3 distrib' différentes.

Pour continuer dans la rubrique "vis ma vie", je pars en Suède pour 2 ans, et donc le téléphone, ça taxe, d'où la "solution" Skype. C'est pas libre, mais ça marche. J'ai récupéré une belle carte son externe (une Focusrite Saphire LE) que je m'en servait sous Ubuntu pour faire de jolis sons ^^ et je veux l'utiliser de la même manière, en passant par jackd (pilote "firewire" du projet ffado : http://www.ffado.org/?q=node/16 ). La carte marche officiellement, mais quand je veux lancer jackd, j'ai droit à ça (oui, yen a fallut du temps pour arriver au problème, manquerait plus que ce soit dans la mauvaise section ;) ) :

Code : Tout sélectionner

bash-3.2$ jackd -d firewire
jackd: unknown driver 'firewire'
Ça s'anonce mal tout ça. J'ai bien entendu installé libffado (2.0-beta6 trouvé via yaourt) et auparavant tout ce qui concerne jackd via pacman.

Code : Tout sélectionner

bash-3.2$ jackd -v                                                                
jackd 0.109.2
et pas mal de blabla en dessous :p
La distrib' est à jour d'aujourd'hui. Sur Linuxmao (www.linuxmao.org), j'ai trouvé ça : http://www.linuxmao.org/tikiwiki/tiki-v ... ntId=10277

J'ai été jusqu'à la copie de la lib, qui n'a rien changé. Je tente la recompilation de jackd, mais ya pas moyen de faire plus simple ?

En remerciant les âmes égarées qui traînent dans le coin... :p

Edit : Sur le site de ffado, ya une belle méthode pour compiler jackd avec tout ce qu'il faut. Ça marche... ou pas ;) J'ai installé ABS comme indiqué, "configuré" à la va-vite (juste tapé abs en root) et tenté l'install avec les commandes fournies (juste la partie concernant jack). Évidemment, ça compile pas :p Ça mouline pas mal, ça télécharge, ça se fait plaisir, ça défile à l'écran... et paf :

Code : Tout sélectionner

./autogen.sh: line 26: aclocal: command not found
aclocal $ACLOCAL_FLAGS where $ACLOCAL_FLAGS= failed, exiting...
make: *** Pas de cibles spécifiées et aucun makefile n'a été trouvé. Arrêt.
Re-Edit : Le problème du "aclocal" a été résolu en installant le groupe "base-devel". Oui, j'aurais dû y penser plus tôt :p

Par contre, ça marche pas mieux :

Code : Tout sélectionner

pas mal de trucs qui défile... et paf : 
configure.ac:7: installing `config/config.guess'
configure.ac:7: installing `config/config.sub'
configure.ac:70: installing `config/install-sh'
configure.ac:70: installing `config/missing'
drivers/alsa/Makefile.am: installing `config/depcomp'
make: *** Pas de cibles spécifiées et aucun makefile n'a été trouvé. Arrêt.
==> ERREUR: La compilation a échoué.
    Abandon...
Dernière modification par Nicocys le mar. 28 oct. 2008, 13:37, modifié 3 fois.
Avatar de l’utilisateur
tuxce
Maître du Kyudo
Messages : 6677
Inscription : mer. 12 sept. 2007, 16:03

Message par tuxce »

tu as installé libffado?
Nicocys
Hankyu
Messages : 24
Inscription : lun. 27 oct. 2008, 21:31

Message par Nicocys »

Yep, une première fois avec yaourt, mais ça n'a rien donné (toujours le même message d'erreur envoyé par jackd). La deuxième, c'est une compilation, comme vu un poil plus bas.

Sur le site de ffado, j'ai trouvé une doc : http://www.ffado.org/?q=node/751
Donc j'ai suivi les étapes (d'abord sans la partie avec les libffado, puis avec), mais jackd ne se compile pas (même problème que plus haut).

Edit : je copie/colle ici le résultat de la dernière commande, supposée compiler, empaqueter et installer jackd (c'est pas très long ^^)

Code : Tout sélectionner

bash-3.2# makepkg --asroot -is
==> Détermination de la dernière révision svn...
  -> Version trouvée        : 3053
==> Création du paquet jack-audio-connection-kit-svn 3053-1 i686 (mar. oct. 28 06:57:18 CET 2008)
==> ATTENTION: Lancement de makepkg en root...
==> Vérification des dépendances...
==> Vérification des dépendances pour la compilation...
==> Récupération des sources...
==> Validation des fichiers sources avec md5sums...
==> Extraction des sources...
==> Suppression du répertoire pkg/ existant...
==> Début de la compilation...
Révision 3053 extraite.
libtoolize: putting auxiliary files in AC_CONFIG_AUX_DIR, `config'.
libtoolize: linking file `config/ltmain.sh'
libtoolize: Consider adding `AC_CONFIG_MACRO_DIR([m4])' to configure.ac and
libtoolize: rerunning libtoolize, to keep the correct libtool macros in-tree.
libtoolize: Consider adding `-I m4' to ACLOCAL_AMFLAGS in Makefile.am.
/usr/share/aclocal/smpeg.m4:13: warning: underquoted definition of AM_PATH_SMPEG
/usr/share/aclocal/smpeg.m4:13:   run info '(automake)Extending aclocal'
/usr/share/aclocal/smpeg.m4:13:   or see http://sources.redhat.com/automake/automake.html#Extending-aclocal
make: *** Pas de cibles spécifiées et aucun makefile n'a été trouvé. Arrêt.
==> ERREUR: La compilation a échoué.
    Abandon...
Oui, c'est en root car même avec sudo, makepkg arrive pas à fonctionner (problème de droits sur les répertoires je pense).

Re-Edit : là, j'ai copié les sources ailleurs, et j'ai tenté le bon vieux ./configure puis make (pas make install, je veux un paquet moi :D ). Ça a configuré et compilé sans problème... Je fais comment pour ce problème avec makepkg ? Ou alors comment faire un paquet moi même à la main comme un grand avec ce qui a été compilé ?
Nicocys
Hankyu
Messages : 24
Inscription : lun. 27 oct. 2008, 21:31

Message par Nicocys »

Problème réglé (à l'arrache par contre :D)

J'ai récupéré le PKGBUILD fourni sur le site de ffado ( http://ffado.org/files/jack-svn.PKGBUILD.txt ) et je l'ai bidouillé un peu :D

pkgbuild "final" :

Code : Tout sélectionner

# Contributor: Nicolas Boulanger
pkgname=jack-audio-connection-kit-svn
pkgver=3053
pkgrel=1
pkgdesc="a low-latency audio server"
arch=('i686')
depends=('libsndfile' 'readline' 'libsamplerate')
makedepends=('subversion' 'doxygen')
conflicts=('jack-audio-connection-kit')
provides=('jack-audio-connection-kit')
url="http://jackaudio.org/"
options=('!libtool')
license=('GPL')
source=()
md5sums=()

_svntrunk='http://subversion.jackaudio.org/jack/trunk/jack'
_svnmod='jack'

build() {
  cd $startdir/src
  svn co $_svntrunk --config-dir ./ -r $pkgver
  cd $_svnmod

  ./configure
  make || return 1
  make DESTDIR=$startdir/pkg install
}
Ça vaut ce que ça vaut, mais ça marche :)

En tout cas, merci de vous être penché sur mon problème :)

Edit : enfin, ça marche en ligne de commande :D
Par contre, qjackctl ne se lance plus :

Code : Tout sélectionner

bash-3.2$ qjackctl
qjackctl: error while loading shared libraries: libjack.so.0: cannot open shared object file: No such file or directory
le fichier libjack.so.0 existe pourtant bien sur le système :

Code : Tout sélectionner

bash-3.2$ locate libjack.so.0
/home/nicolas/Travaux/jack/pkg/usr/local/lib/libjack.so.0
/home/nicolas/Travaux/jack/pkg/usr/local/lib/libjack.so.0.0.28
/home/nicolas/Travaux/jack/src/jack/libjack/.libs/libjack.so.0
/home/nicolas/Travaux/jack/src/jack/libjack/.libs/libjack.so.0.0.28
/home/nicolas/Travaux/src/jack/libjack/.libs/libjack.so.0
/home/nicolas/Travaux/src/jack/libjack/.libs/libjack.so.0.0.28
/usr/local/lib/libjack.so.0
/usr/local/lib/libjack.so.0.0.28
/var/abs/local/jack-audio-connection-kit-svn/src/jack/libjack/.libs/libjack.so.0
/var/abs/local/jack-audio-connection-kit-svn/src/jack/libjack/.libs/libjack.so.0.0.28
Il faudrait le déplacer/copier vers quel endroit précisément pour que ça marche bien ?
Nicocys
Hankyu
Messages : 24
Inscription : lun. 27 oct. 2008, 21:31

Message par Nicocys »

Là encore, problème réglé à l'arrache : j'ai copié le fichier libjack.so.0 depuis /usr/local/lib vers /usr/lib et qjackctl se lance sans problème.

Je laisse en résolu à moitié car comment on gère l'emplacement des lib quand on fait un paquet ? De manière à automatiser et tracer ce copier/coller pour les prochains paquets...
Avatar de l’utilisateur
tuxce
Maître du Kyudo
Messages : 6677
Inscription : mer. 12 sept. 2007, 16:03

Message par tuxce »

commence par supprimer le paquet que tu viens d'installer:

Code : Tout sélectionner

pacman -Rd jack-audio-connection-kit-svn
prends le PKGBUILD de départ et modifie juste "./autogen.sh" par "./configure" et relance le makepkg -is

sinon, juste pour info, il n'y a aucune raison (sinon une très mauvaise voire une dangereuse) pour qu'un makepkg ait besoin des droits root pour compiler un soft, donc, il ne faut pas utiliser le root pour makepkg, les actions où makepkg a besoin des droits root sont l'installation du paquet une fois celui ci construit ainsi que l'installation de ses dépendances, et ces deux actions sont prises en compte par makepkg, alors que la compilation et en fait tout ce qui se trouve dans le PKGBUILD ne doit en ancun cas être lancé en root, c'est la porte ouverte à plein de mésaventures ;)

EDIT: j'oubliais, efface aussi la copie que tu as effectué de la lib (l'emplacement des lib se fait par le biais de la directive --prefix quand le soft est standard)
Nicocys
Hankyu
Messages : 24
Inscription : lun. 27 oct. 2008, 21:31

Message par Nicocys »

Voila, c'est fait et ça marche nickel !

Encore merci :)
Répondre