
저는 Intel Core i7 시스템에서 Debian wheezy(x86)와 GNOME을 실행하고 있습니다. PulseAudio를 작동시키는 데 문제가 있습니다. GNOME 3는 PulseAudio를 자동으로 설치하기 때문에 저는 계속해서 설치하고 있습니다.
콘솔에서 ALSA 믹서를 실행할 때 다음 오류 메시지가 나타납니다.
ALSA lib conf.c:3314:(snd_config_hooks_call) Cannot open shared library libasound_module_conf_pulse.so
ALSA lib control.c:951:(snd_ctl_open_noupdate) Invalid CTL default
cannot open mixer: No such file or directory
공유 라이브러리는 실제로 존재합니다(/usr/lib/i386-linux-gnu/alsa-lib/libasound_module_conf_pulse.so). 이 문제에 대해 광범위한 Google 검색을 수행했지만 실제로 작동하는 솔루션을 찾지 못했습니다. 제안 중 하나는 파일을 다른 위치에 배치하는 것이었지만 아무런 변화가 없었습니다.
또한 실제로 PulseAudio를 사용하려고 시도하는 많은 프로그램이 시작되지 않습니다. 내가 보는 또 다른 오류 메시지는 다음과 같습니다.
mybox:/# pulseaudio
pulseaudio: symbol lookup error: /usr/lib/i386-linux-gnu/libsndfile.so.1: undefined symbol: vorbis_version_string
ALSA는 훌륭하게 작동하지만 믹서를 사용하여 볼륨을 설정한 다음 다시 설치하려면 실제로 PulseAudio를 제거해야 합니다. 그러면 강제로 ALSA를 사용할 수 있는 일부 소프트웨어(예: XBMC)가 작동합니다.
시스템에는 온보드 Intel 오디오 및 nVidia HDMI 사운드 드라이버가 포함되어 있습니다. 제가 지금 가장 관심을 갖는 것은 HDMI 사운드입니다(중요하다면).
mybox:/# aplay -L
null
Discard all samples (playback) or generate zero samples (capture)
pulse
PulseAudio Sound Server
default:CARD=Intel
HDA Intel, ALC887 Analog
Default Audio Device
sysdefault:CARD=Intel
HDA Intel, ALC887 Analog
Default Audio Device
front:CARD=Intel,DEV=0
HDA Intel, ALC887 Analog
Front speakers
surround40:CARD=Intel,DEV=0
HDA Intel, ALC887 Analog
4.0 Surround output to Front and Rear speakers
surround41:CARD=Intel,DEV=0
HDA Intel, ALC887 Analog
4.1 Surround output to Front, Rear and Subwoofer speakers
surround50:CARD=Intel,DEV=0
HDA Intel, ALC887 Analog
5.0 Surround output to Front, Center and Rear speakers
surround51:CARD=Intel,DEV=0
HDA Intel, ALC887 Analog
5.1 Surround output to Front, Center, Rear and Subwoofer speakers
surround71:CARD=Intel,DEV=0
HDA Intel, ALC887 Analog
7.1 Surround output to Front, Center, Side, Rear and Woofer speakers
iec958:CARD=Intel,DEV=0
HDA Intel, ALC887 Digital
IEC958 (S/PDIF) Digital Audio Output
hdmi:CARD=NVidia,DEV=0
HDA NVidia, HDMI 0
HDMI Audio Output
hdmi:CARD=NVidia,DEV=1
HDA NVidia, HDMI 0
HDMI Audio Output
hdmi:CARD=NVidia,DEV=2
HDA NVidia, HDMI 0
HDMI Audio Output
hdmi:CARD=NVidia,DEV=3
HDA NVidia, HDMI 0
HDMI Audio Output
나는 이제 내 시스템에 어떤 문제가 있는지 전혀 모릅니다. 아직 어떤 설정도 건드리지 않았지만 확인하기 위해 모든 구성을 지우고 다시 설치해 보았습니다.
나에게 이러한 오류 메시지는 패키지가 손상된 것처럼 보이지만 몇 가지 새로운 패키지 버전이 출시되면서 이 문제는 몇 주 동안 계속되었습니다. 무엇이 잘못되고 있는지 아는 사람이 있나요?
편집하다:
Jan Marek은 몇 가지 추가 정보를 요청했습니다.
mybox:~# ldconfig -v | grep libasound
ldconfig: Can't stat /lib/i486-linux-gnu: No such file or directory
ldconfig: Can't stat /usr/lib/i486-linux-gnu: No such file or directory
ldconfig: Path `/lib/i386-linux-gnu' given more than once
ldconfig: Path `/usr/lib/i386-linux-gnu' given more than once
libasound.so.2 -> libasound.so.2.0.0
/usr/lib/i386-linux-gnu` 경로를 검색한 후에도 libasound_module_conf_pulse.so
나열되지 않는 것 같습니다. 분명히 두 번 이상? 왜 이런 일이 발생하는지 잘 모르겠습니다. 관련 구성은 다음과 같습니다.
## /etc/ld.so.conf:
/usr/X11R6/lib
include /etc/ld.so.conf.d/*.conf
## /etc/ld.so.conf.d/i486-linux-gnu.conf:
# Multiarch support
/lib/i386-linux-gnu
/usr/lib/i386-linux-gnu
/lib/i486-linux-gnu
/usr/lib/i486-linux-gnu
## /etc/ld.so.conf.d/libc.conf
# libc default configuration
/usr/local/lib
strace에 관해서는 그것이 나에게 무엇을 말하려는지 완전히 확신하지 못합니다.
11655 open("/usr/lib/i386-linux-gnu/alsa-lib/libasound_module_conf_pulse.so", O_RDONLY) = 3
11655 read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0000\7\0\0004\0\0\0"..., 512) = 512
11655 fstat64(3, {st_mode=S_IFREG|0644, st_size=4168, ...}) = 0
11655 mmap2(NULL, 7028, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xb7785000
11655 mmap2(0xb7786000, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0) = 0xb7786000
11655 close(3) = 0
이는 파일 열기가 성공했고 512바이트를 읽은 다음 파일을 닫기로 결정했음을 의미한다고 가정합니다.
/usr/lib/i386-linux-gnu/alsa-lib
alsamixer를 시작할 때 동작을 변경하는 ld.so.conf에 추가했습니다 . 해당 라인에서는 분할 오류가 발생합니다. 또한 부팅하는 동안 이러한 펄스 오디오 오류가 계속해서 발생하므로 집에 도착하면 재부팅해 보겠습니다( service alsasound restart
효과 없음).
답변1
1) 시도해 보면 ldconfig -v
이 목록 라이브러리에 있습니까 libasound_module_conf_pulse.so
?
2) 명령을 사용한 strace -f -F -o alsamixer.strace alsamixer
다음 파일을 탐색 alsamixer.strace
하고 라이브러리에서 파일을 열 수 없는 이유를 아래에서 위로 찾아보세요.
답변2
Wheezy의 Realtek ALC887(HDA Intel)?
나는 이것을 찾았다:
http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=679056
마지막에는 다음과 같습니다.
http://forums.debian.net/viewtopic.php?f=7&t=59680
행운을 빌어요.
답변3
64비트 시스템에서 32비트 애플리케이션을 실행하는 경우 32비트 버전을 설치해야 할 수 있습니다.
sudo dpkg --add-architecture i386
sudo apt-get install libasound2-plugins:i386
답변4
먼저 오류에 제공된 호출된 환경을 만듭니다.
나는:
ALSA lib conf.c:3725:(snd_config_hooks_call) Cannot open shared library libasound_module_conf_pulse.so (/lib/i386-linux-gnu/alsa-lib/libasound_module_conf_pulse*.so: cannot open shared object file: No such file or directory)
ALSA lib pcm.c:2660:(snd_pcm_open_noupdate) Unknown PCM default
이 문제를 해결하려면 다음 명령을 실행하십시오.
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:i386