pulseaudio 命令显示编译和链接的库不一致

需要修改pulseaudio的内容,所以下载了pulseaudio13.0的代码,install之后,发现
~# /usr/local/bin/pacmd --version
pacmd 13.0
使用 libpulse 13.0.0 编译
与 libpulse 8.0.0 链接

即使用的pulseaudio13.0 编译的,但是连接到了pulseaduio8.0的库,而且测试本地不管是否使用apt-get install pulseaudio都会有问题

使用ldd 查看pulseaudio的依赖库,发现其不只依赖pulseaudio13.0的库还依赖pulseaudio8.0的库
pulseaudio 命令显示编译和链接的库不一致

而且上述问题只在使用的arch 服务器上出现,使用x86 ubuntu 虚拟机同样的代码没有任何问题

经过九牛二虎之力,多方排查,终于发现问题的原因:

进入/etc/ld.so.conf.d/目录,执行ldconfig -v,查看结果,发现/usr/local/lib(编译出来的pulseaudio库安装位置)目录在/usr/lib/aarch64-linux-gnu后面,本地虚拟机执行ldconfig -v时,/usr/local/lib在/usr/lib/x86_64-linux-gnu前面
所以怀疑是pulseaudio编译和install的时候查找libpulse-common.so是按照ldconfig执行结果的顺序执行的,所以才会多一个/usr/lib/aarch64-linux-gnu
修改:
cd /etc/
vim ld.so.conf
在 include /etc/ld.so.conf.d/*.conf前面添加: include /etc/ld.so.conf.d/libc.conf
然后执行 ldconfig
测试ok