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 ?