[opensuse-ja] libltdl のアップデートで mpg123(PackMan) 再生不可
新年おめでとうございます。koga です。
本年もよろしくお願いします。
さて Subject の通り、PackMan のレポジトリからインストールして
いる mpg123 でちょっとハマったので情報共有とメモのためメール
します。一応問題は解決済みなので、興味なければスルーしてくだ
さい。
ふと気づいたら mpg123 を用いたプログラムで音声が再生できなく
なっていました。環境は openSUSE 11.0 と 11.1。試しにコマンド
ラインから打ってみると、こんなエラー。
$ mpg123 music.mp3
[module.c:95] error: Failed to open module alsa: file not found
[module.c:95] error: Failed to open module oss: file not found
[module.c:95] error: Failed to open module esd: file not found
[module.c:95] error: Failed to open module jack: file not found
[module.c:95] error: Failed to open module portaudio: file not found
[module.c:95] error: Failed to open module pulse: file not found
[module.c:95] error: Failed to open module sdl: file not found
[module.c:95] error: Failed to open module nas: file not found
[module.c:95] error: Failed to open module arts: file not found
[audio.c:179] error: Unable to find a working output module in
this list: alsa,oss,esd,jack,portaudio,pulse,sdl,nas,arts
[audio.c:533] error: Failed to open audio output module
[mpg123.c:773] error: Failed to initialize output, goodbye.
ただし、kaffeine や xmms、vlc などでは音楽も動画も正常に再生
できます。原因を探っているうちに、openSUSE Updater で最近パッ
ケージをアップデートしたことを思い出し、
$ rpm -qa --last
して、上から順に rpm -e でパッケージを削除[1]していってみると、
$ LANG=C rpm -e libltdl-3-1.5.26-23.2
error: Failed dependencies:
libltdl.so.3 is needed by (installed) openct-0.6.14-22.1.i586
libltdl.so.3 is needed by (installed) libgphoto2-2.4.1.2-21.1.i586
libltdl.so.3 is needed by (installed) guile-1.8.4-22.1.i586
libltdl.so.3 is needed by (installed) sane-backends-1.0.19-48.1.i586
libltdl.so.3 is needed by (installed) mlterm-2.9.3.20071112-83.1.i586
libltdl.so.3 is needed by (installed) TeXmacs-1.0.6.14-16.1.i586
libltdl.so.3 is needed by (installed) mpg123-1.7.2-0.pm.1.i586
libltdl.so.3 is needed by (installed) opensc-0.11.4-37.6.i586
libltdl.so.3 is needed by (installed) libopensc2-0.11.4-37.6.i586
libltdl.so.3 is needed by (installed) gnash-0.8.3-100.pm.1.i586
libltdl.so.3 is needed by (installed) sox-14.3.0-99.pm.100.3.i586
libltdl-3 = 1.5.26 is needed by (installed) libtool-1.5.26-23.2.i586
ここで mpg123 の文字を発見。openSUSE のミラーサーバ[2]から
パッケージを取得して libltdl-3 のダウングレードを実施。
# rpm -Uvh --oldpackage libltdl-3-1.5.26-23.1.i586.rpm
Preparing... ########################################### [100%]
1:libltdl-3 ########################################### [100%]
これで正常に mpg123 で再生できるようになりました。なお openSUSE
11.1 は libltdl7-2.2.6-1.20 [3]にダウングレードしたら直りました。
(libltdl-3 と libltdl7 の違いって何だろう?)
PackMan は自己責任なレポジトリなので openSUSE に報告するには筋違い
な気がするし、PackMan の ML に報告してみようかな..?
[1] 後で気づきましたが、いちいちパッケージ削除しなくても、こう
すればすぐ分かりましたね...
$ ldd `which mpg123`
linux-gate.so.1 => (0xffffe000)
libltdl.so.3 => /usr/lib/libltdl.so.3 (0xb8059000)
libdl.so.2 => /lib/libdl.so.2 (0xb8055000)
libmpg123.so.0 => /usr/lib/libmpg123.so.0 (0xb7fdb000)
libm.so.6 => /lib/libm.so.6 (0xb7fb5000)
libc.so.6 => /lib/libc.so.6 (0xb7e72000)
/lib/ld-linux.so.2 (0xb808b000)
[2] 例: ftp://ftp.jaist.ac.jp/pub/Linux/openSUSE/distribution/11.0/repo/oss/suse/i586/libltdl-3-1.5.26-23.1.i586.rpm
[3] 例: ftp://ftp.jaist.ac.jp/pub/Linux/openSUSE/distribution/11.1/repo/oss/suse/i586/libltdl7-2.2.6-1.20.i586.rpm
以上です。
--
koga
今井です。
2010年1月11日17:04 koga
新年おめでとうございます。koga です。 本年もよろしくお願いします。
さて Subject の通り、PackMan のレポジトリからインストールして いる mpg123 でちょっとハマったので情報共有とメモのためメール します。一応問題は解決済みなので、興味なければスルーしてくだ さい。
ふと気づいたら mpg123 を用いたプログラムで音声が再生できなく なっていました。環境は openSUSE 11.0 と 11.1。試しにコマンド ラインから打ってみると、こんなエラー。
$ mpg123 music.mp3 [module.c:95] error: Failed to open module alsa: file not found [module.c:95] error: Failed to open module oss: file not found [module.c:95] error: Failed to open module esd: file not found [module.c:95] error: Failed to open module jack: file not found [module.c:95] error: Failed to open module portaudio: file not found [module.c:95] error: Failed to open module pulse: file not found [module.c:95] error: Failed to open module sdl: file not found [module.c:95] error: Failed to open module nas: file not found [module.c:95] error: Failed to open module arts: file not found [audio.c:179] error: Unable to find a working output module in this list: alsa,oss,esd,jack,portaudio,pulse,sdl,nas,arts [audio.c:533] error: Failed to open audio output module [mpg123.c:773] error: Failed to initialize output, goodbye.
[.....]
これで正常に mpg123 で再生できるようになりました。なお openSUSE 11.1 は libltdl7-2.2.6-1.20 [3]にダウングレードしたら直りました。 (libltdl-3 と libltdl7 の違いって何だろう?)
私のところではその問題は起きていません。 PackManリポジトリの mpg123-1.10.0-0.pm.1.1-x86_64.rpm と libltdl7-2.2.6-1.36.1-x86_64.rpm $ mpg123 hogehoge.mp3 でエラーも出ません。 HP dv2705のopenSUSE 11.1(11.2からクリーンインストールによるダウングレード、64bit)環境で最新の状態でですけど。 ですのでひょっとして32bit環境限定?なのかな.....。 VirtualBox上に11.1の32bit環境とかあるので後で試してみたいと思います。 (11.0については現在環境再構築中なんでまだダメですが) #Update、distributionのミラーリング完了次第 #次はメインサーバマシンの11.2->11.1ダウングレード作業です。 #TurionやAtom+IONだと11.2は荷が重い。 -- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 今井 優 mail: mforce4@gmail.com (maimai@coral.ocn.ne.jp) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -- To unsubscribe, e-mail: opensuse-ja+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-ja+help@opensuse.org
今井です。 気になったので確認させて下さい。 えーっと今、PackManリポジトリで提供されているパッケージ一覧見てるんですが libmpg123-0 というパッケージの他に libmpg123-0-all から libmpg123-0-sdl といった様なパッケージが並んでるんですが、 これらをもしかして組み込んでたりしますか? 私のところでは libmpg123-0 だけ組み込まれている状態なんですが。 -- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 今井 優 mail: mforce4@gmail.com (maimai@coral.ocn.ne.jp) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -- To unsubscribe, e-mail: opensuse-ja+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-ja+help@opensuse.org
koga です。
検証ありがとうございます。
This is the reply to ...
"[opensuse-ja] Re: [opensuse-ja] libltdl のアップデートで mpg123(PackMan) 再生不可".
Mr./Ms. Masaru Imai
気になったので確認させて下さい。
えーっと今、PackManリポジトリで提供されているパッケージ一覧見てるんですが
libmpg123-0 というパッケージの他に
libmpg123-0-all から libmpg123-0-sdl
といった様なパッケージが並んでるんですが、 これらをもしかして組み込んでたりしますか?
私のところでは libmpg123-0 だけ組み込まれている状態なんですが。
調べてみましたが、libmpg123-0 のみインストールされてました。
$ rpm -qa | fgrep libmpg123
libmpg123-0-1.7.2-0.pm.1
# zypper se libmpg123-0
Reading installed packages...
S | Name | Summary | Type
--+-----------------------+--------------------------------------------+--------
i | libmpg123-0 | Realtime Player Library for MPEG Audio L-> | package
| libmpg123-0-all | Support for all output plugins in mpg123 | package
| libmpg123-0-arts | Artsd KDE Sound System Daemon Support fo-> | package
| libmpg123-0-esound | Esound GNOME Sound System Daemon Support-> | package
| libmpg123-0-jack | Jack Support for mpg123 | package
| libmpg123-0-nas | NAS Support for mpg123 | package
| libmpg123-0-portaudio | Portaudio Support for mpg123 | package
| libmpg123-0-pulse | Pulseaudio Support for mpg123 | package
| libmpg123-0-sdl | SDL Support for mpg123 | package
書いてませんでしたが openSUSE 11.0/11.1 いずれも 32bit 環境で、
会社と自宅の複数の環境で起こったので再現性は「あり」です。64bit
環境とはパッケージも違うので 32bit 環境限定かもしれませんね。
--
koga
今井です。
2010年1月11日21:56 koga
libmpg123-0 というパッケージの他に
libmpg123-0-all から libmpg123-0-sdl
といった様なパッケージが並んでるんですが、 これらをもしかして組み込んでたりしますか?
私のところでは libmpg123-0 だけ組み込まれている状態なんですが。
調べてみましたが、libmpg123-0 のみインストールされてました。
$ rpm -qa | fgrep libmpg123 libmpg123-0-1.7.2-0.pm.1
[.....]
書いてませんでしたが openSUSE 11.0/11.1 いずれも 32bit 環境で、 会社と自宅の複数の環境で起こったので再現性は「あり」です。64bit 環境とはパッケージも違うので 32bit 環境限定かもしれませんね。
私の方でも更に動作確認をしてみました。 VirtualBox上の11.1(32bit)ゲスト環境でも20100101(2010年1月1日)スナップショットに 急遽libltdl7の更新前、更新後とmpg123の再生テストをやってみたのですが、 いずれの場合においても、書かれていた様な症状が出ませんでした。 で、仮定というか推測になるのですが、 (各パッケージの中身とか見てないので) 1)libmpg123-0-xxxが組み込まれている(alsaやoss、esd等のモジュールが呼び出 される)状態で作られた情報(リンク情報もしくはモジュール呼び出しに関する記述) が残ったまま、何らかの事情等によりlibmpg123-0-xxxが消された。 2)その状態でmpg123コマンド実行され、古い情報参照してモジュール を組み込もうとしたが、モジュールそのものが存在しないため起動できず。 3)libltdl7を旧バージョンにする事でリンク情報等が更新される 4)mpg123コマンド実行しても新しいリンク情報なんで問題なく起動 なのではないのかなと.....思うのですが、確証とか何にも無し。 試しにlibltdl7を再度更新して現行バージョンにするとどうなるか。 その辺りの挙動がヒントになりそうな気がするのですが....。 ちなみに11.0環境は、現時点でVirtualBoxのゲストOSインストールが完了してないので まだ確認はしていません。 -- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 今井 優 mail: mforce4@gmail.com (maimai@coral.ocn.ne.jp) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -- To unsubscribe, e-mail: opensuse-ja+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-ja+help@opensuse.org
今井です。
2010年1月11日21:56 koga
libmpg123-0 というパッケージの他に
libmpg123-0-all から libmpg123-0-sdl
といった様なパッケージが並んでるんですが、 これらをもしかして組み込んでたりしますか?
私のところでは libmpg123-0 だけ組み込まれている状態なんですが。
調べてみましたが、libmpg123-0 のみインストールされてました。
$ rpm -qa | fgrep libmpg123 libmpg123-0-1.7.2-0.pm.1
[.....]
書いてませんでしたが openSUSE 11.0/11.1 いずれも 32bit 環境で、 会社と自宅の複数の環境で起こったので再現性は「あり」です。64bit 環境とはパッケージも違うので 32bit 環境限定かもしれませんね。
私の方でも更に動作確認をしてみました。 VirtualBox上の11.1(32bit)ゲスト環境でも20100101(2010年1月1日) スナップショットに急遽libltdl7の更新前、更新後とmpg123の再生テスト をやってみたのですが、いずれの場合においても、書かれていた様な 症状が出ませんでした。 で、仮定というか推測になるのですが、 (各パッケージの中身とか見てないのですが、最初の投稿に出てる メッセージを見る限り) 1)libmpg123-0-xxxが組み込まれている(alsaやoss、esd等のモジュール が呼び出される)状態で作られた情報(リンク情報もしくはモジュール呼び 出しに関する記述)が残ったまま、何らかの事情等により libmpg123-0-xxxが消された。 2)その状態でmpg123コマンド実行され、古い情報参照してモジュール を組み込もうとしたが、モジュールそのものが存在しないため起動できず。 3)libltdl7を旧バージョンにする事でリンク情報等が更新される 4)mpg123コマンド実行しても新しいリンク情報なんで問題なく起動 なのではないのかなと.....思うのですが、確証とか何にも無し。 試しにlibltdl7を再度更新して現行バージョンにするとどうなるか。 その辺りの挙動がヒントになりそうな気がします。 ちなみに11.0環境は、現時点でVirtualBoxのゲストOSインストールが 完了してないのでまだ確認はしていません。 -- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 今井 優 mail: mforce4@gmail.com (maimai@coral.ocn.ne.jp) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -- To unsubscribe, e-mail: opensuse-ja+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-ja+help@opensuse.org
participants (2)
-
koga
-
Masaru Imai