我在重新编译PulseAudio时遇到了问题。我决定重新编译,以尝试WebRTC回波取消以及访问均衡器。
我没有做任何疯狂的事,我只是做了以下几件事:
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在编译过程中,我会遇到以下错误:
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即使从构建选项中删除--启用-webrtc-aec,它也不会正确编译。有人知道这里出了什么问题吗?
澄清:有一种方法可以通过使用--禁用-oss-包装来避免这个构建问题,但是在源包本身中启用了这个选项(默认情况下)。如果这是用于构建包的源,那么它最初是如何构建的呢?我想弄清楚的是如何设置我的系统来构建默认的包(带有额外的功能),并且不删除应该根据repos中可用的版本可用的方面。这应该是一个琐碎的过程,但出于某种原因,它不是。
编辑:所以,我认为5.0的构建也许可以帮助我避免这个问题,但是我在PulseAudio 5.0中得到的错误与我使用4.0时的错误是一样的。它抱怨的标题由libc6-dev提供。是否有可能在libc6中做了一些改变来实现这一点?
发布于 2015-10-27 13:56:04
看来,自从升级到Utopic或Vivid启用堆栈以来,这个问题已经解决了。最近,我决定再试一次,除了并行作业的问题外,没有任何编译问题。我不得不删除oss4-dev,但是自从apt-file告诉我oss4dev将提供它正在抱怨的文件的一个版本以来,这是我上次尝试时的一个阻碍。
总之,WebRTC回波消除是非常好的。我通过我的扬声器测试了它的高音音乐,它抵消了一切。最终的结果是有点泥泞,但这种轻微的副作用是值得的。我的想法是: WebRTC回波取消应该是真正的主线。
https://askubuntu.com/questions/620597
复制相似问题