Je travaille avec Ubuntu 14.04.5 et j'ai eu du mal à reconstruire PulseAudio à partir des sources. PulseAudio ici est 4.0-0ubuntu11.1, mais je dois le reconstruire et inclure le correctif récent https://patchwork.freedesktop.org/patch/65100/ qui améliore le module echo-cancel
.
J'ai essayé de reconstruire PA en suivant les instructions des documents de la communauté Ubuntu https://help.ubuntu.com/community/UpdatingADeb . C'est à dire. apt-get build-dep ...
, apt-get source ...
, patch ...
, debchange -i
, dpkg-source --commit
, debuild -us -uc -i -I
. Construit a réussi, une seule erreur - "pulseaudio: script/init.d/pulseaudio: postrm-not-call-updaterc.d-pour-init.d-script", mais je pense que cela devrait être ignoré. Puis j'ai installé les packages construits en utilisant debi
, j'ai essayé de lancer PA et d'obtenir l'erreur suivante:
$ pulseaudio -vvv
<...>
D: [pulseaudio] module-systemd-login.c: Added new session c2
I: [pulseaudio] module.c: Loaded "module-systemd-login" (index: #14; argument: "").
I: [pulseaudio] module.c: Loaded "module-position-event-sounds" (index: #15; argument: "").
I: [pulseaudio] module.c: Loaded "module-filter-heuristics" (index: #16; argument: "").
I: [pulseaudio] module.c: Loaded "module-filter-apply" (index: #17; argument: "").
Inconsistency detected by ld.so: dl-open.c: 689: _dl_open: Assertion `_dl_debug_initialize (0, args.nsid)->r_state == RT_CONSISTENT' failed!
Le moment où le lancement échoue est exactement le moment où le module echo-cancel
devrait commencer. De plus, même si je reconstruis PA sans aucun changement significatif, j'obtiens la même erreur. Si j'utilise PA du référentiel officiel Ubuntu, il démarre sans erreur et lance le module echo-cancel
avec succès.
Voici comment j'active echo-cancel
, ces lignes que j'ai ajoutées à la fin de /etc/Pulse/default.pa
:
load-module module-echo-cancel source_name=noechosource sink_name=noechosink
set-default-source noechosource
set-default-sink noechosink
Quelqu'un pourrait-il suggérer comment puis-je résoudre ce problème de reconstruction de l'AP? Peut-être que la façon dont je reconstruis le paquet est erronée à un moment donné. Comme je l'ai dit, le problème ne vient même pas de la reconstruction de PA modifiée, mais d'une simple reconstruction sans modification. Il semble donc que le problème concerne le processus de construction lui-même.
Je l'ai compris, du moins dans les grandes lignes:
C'est un problème spécifique à la construction de deb, qui n'est pas lié à PulseAudio:
RT_CONSISTENT
a été provoqué par la dépendance manquante de module-echo-cancel.so
:ldd
sur ce module affiche libwebrtc-util.so => not found
et, conformément à debuild
log, ce fichier a été créé, mais n'est pas inclus dans deb et n'a donc pas été installé. au systèmetrusty
PA par défaut est construit sans le support de WebRTC AEC (et c'est pourquoi vous n'avez pas besoin d'installer ni d'installer libwebrtc-util.so
).libwebrtc-audio-processing-dev
avant de reconstruire le PA. Ces bibliothèques WebRTC ont été capturées par le script de configuration de PA et le PA a été construit avec le support WebRTC, mais lors des étapes post-construites, tous les fichiers requis n'ont pas été empaquetés vers deb.libwebrtc-util.so
à l'emplacement souhaité. Plus tard, je découvrirai comment corriger les scripts de construction pour traiter correctement cette affaire et revenir pour mettre à jour cette réponse.