2 votes

Recompilation de PulseAudio

J'ai un problème pour faire recompiler PulseAudio. J'ai décidé de recompiler pour essayer l'annulation d'écho WebRTC ainsi que pour avoir accès à l'égaliseur.

Je ne fais rien de fou ici, j'ai simplement fait ce qui suit :

apt-get source pulseaudio
sudo apt-get build-dep pulseaudio
sudo apt-get install libwebrtc-audio-processing-dev
cd pulsaudio-4.0
#Add --enable-webrtc-aec to debian/rules
dpkg-builpackage -uc -us -b -j8

Je suis accueilli par l'erreur suivante lors de la compilation :

In file included from /usr/include/x86_64-linux-gnu/sys/soundcard.h:1:0,
             from utils/padsp.c:35:
utils/padsp.c: In function 'dsp_ioctl':
utils/padsp.c:2280:14: error: 'SOUND_PCM_READ_RATE_is_obsolete' undeclared (first use in this function)
     case SOUND_PCM_READ_RATE:
          ^
utils/padsp.c:2280:14: note: each undeclared identifier is reported only once for each function it appears in
utils/padsp.c:2288:14: error: 'SOUND_PCM_READ_CHANNELS_is_obsolete' undeclared (first use in this function)
     case SOUND_PCM_READ_CHANNELS:
          ^
utils/padsp.c:2296:14: error: 'SOUND_PCM_READ_BITS_is_obsolete' undeclared (first use in this function)
     case SOUND_PCM_READ_BITS:
          ^
make[4]: *** [libpulsedsp_la-padsp.lo] Error 1

Même en retirant --enable-webrtc-aec des options de construction, il ne compilera pas correctement. Quelqu'un sait-il ce qui ne va pas ici ?

Clarification : Il existe un moyen d'éviter ce problème de compilation en utilisant --disable-oss-wrapper, mais cette option est activée (par défaut) dans le paquet source lui-même. Si c'était la source utilisée pour construire le paquet, comment a-t-il été construit en premier lieu ? Ce que j'essaie de comprendre, c'est comment configurer mon système pour qu'il construise le paquet par défaut (avec des fonctionnalités supplémentaires) sans supprimer les aspects que l'option --disable-oss-wrapper ne permet pas d'utiliser. devrait être disponible en fonction de la version disponible dans les dépôts. Cela devrait être un processus trivial, mais pour certaines raisons, ce n'est pas le cas.

EDIT : J'ai pensé qu'une version 5.0 pourrait m'aider à éviter ce problème, mais j'obtiens la même erreur avec PulseAudio 5.0 qu'avec 4.0. L'en-tête dont il se plaint est fourni par libc6-dev. Est-il possible que quelque chose ait changé dans la libc6 pour provoquer ce problème ?

1voto

Chuck R Points 4758

Il semble que depuis la mise à niveau vers la pile d'activation Utopic ou Vivid LTS, ce problème a été résolu. J'ai décidé de réessayer récemment et je n'ai eu aucun problème de compilation, à l'exception des problèmes liés aux travaux parallèles. J'ai dû supprimer oss4-dev mais c'était un vestige de la dernière fois que j'ai essayé, car apt-file m'a dit que oss4-dev fournirait une version du fichier dont il se plaignait.

Tout compte fait, l'annulation de l'écho WebRTC est outrageusement bonne. Je l'ai testé en diffusant de la musique sur mes haut-parleurs et il a tout annulé. Le résultat final était un peu confus, mais cet effet secondaire mineur valait bien les avantages. Mon avis : L'annulation d'écho WebRTC devrait vraiment faire partie de la gamme principale.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X