在试图重新回顾我的童年,再次在Linux上玩Sid Meier's Alpha Centauri (几年前我成功完成的一些事情)时,我遇到了一个顽固的错误。使用所提供的库和加载程序脚本,Loki端口安装良好,没有崩溃或视觉问题,但播放时没有声音。从命令行加载,游戏抛出以下错误:
ALSA lib conf.c:3314:(snd_config_hooks_call) Cannot open shared library libasound_module_conf_pulse.so
ALSA lib pcm.c:2217:(snd_pcm_open_noupdate) Unknown PCM default我正在使用Mint 17 (Ubuntu14.04),因此运行PulseAudio以获取声音。我想知道的是: 1)这个错误的根源是什么? 2)如何修复?
最奇怪的是,就在24小时前,游戏还能正常运行;只有在重新启动我的系统时,游戏声音才会停止工作(其他应用程序的声音工作得很好),而且在安装过程中或安装之后,我无法复制任何可能导致这种情况的步骤。
我安装了osspd、32位libasound2库和64位libasound2库,libasound_module_conf_pulse.so确实存在于/usr/lib/i386-linux-gnu/alsa-lib和/usr/lib/x_86_64-linux-gnu/alsa-lib下。我用来加载游戏的脚本,以及声音工作的时候,给出了如下的脚本:
#!/bin/bash
export LD_LIBRARY_PATH=/opt/AlphaCentauri/Loki_Compat
$LD_LIBRARY_PATH/ld-linux.so.2 /opt/AlphaCentauri/smacx.dynamic如果没有Loki_Compat中的兼容库,游戏根本就不会运行。我尝试将libasound_module_conf_pulse.so的完整路径添加到LD_LIBRARY_PATH和LD_PRELOAD中,尝试重新安装游戏和相关库,甚至尝试将Loki_Compat中的困难库进行符号链接,以确保它被找到,但没有效果。
虽然我在Google上看到过关于这种类型的Cannot open shared library ...错误(主要是在不同的程序中)的多次提到,但到目前为止,我还没有找到令人满意的解决方案。我很想把这个问题归结为一个无法解决的问题(因为从现在到我最后一次玩游戏的时间之间的一些问题),除了那个声音,由于某种奇迹,当我在周末安装这个游戏的时候,这个声音是从盒子里出来的。
发布于 2018-05-22 10:54:48
我在Ubuntu14.04 64位上也遇到了类似的问题(可能是在手动安装了特定版本的alsa-base包之后发生的,因为当我试图在该主机上的源代码上构建Java和JVM时,它是某种程度上的需求)。
我还检查了"strace“输出,只安装了一个符号链接/usr/lib/x86_64-linux-gnu/libasound_module_conf_pulse.so来解决问题。可能,你把你的符号链接安装在了错误的地方。我的确切命令是:
cd /usr/lib/x86_64-linux-gnu/
sudo ln -s alsa-lib/libasound_module_conf_pulse.so libasound_module_conf_pulse.so发布于 2020-10-28 16:26:06
我在使用libasound_module_conf_pulse.so时也遇到了pygame.midi的问题。
sudo apt install --reinstall alsa-utils alsa-tools解决了这个问题。希望它能帮到别人。我在用Debian Buster。
发布于 2021-07-04 14:32:35
首先创建错误中给出的被调用环境:
在我的例子中: ALSA lib conf.c:3725:(snd_config_hooks_call)不能打开共享库,libasound_module_conf_pulse.so不能打开共享对象文件:没有这样的文件或目录)
运行以下命令:
sudo mkdir /usr/lib/i386-linux-gnu/alsa-lib/
cd /usr/lib/i386-linux-gnu/alsa-lib/
sudo dpkg --add-architecture i386
sudo apt-get install libasound2-plugins:i386https://askubuntu.com/questions/542984
复制相似问题