2010年7月16日 星期五

Skype 安裝在 64Bit Debian 和 PulseAudio

    這個問題真的要記錄下來,常常會忘記。由於我換到64bit很久了,很多軟體也轉換成功,唯獨 Skype 不是很順利,原因出於 skype 本身還沒發行 native 64bit 的 Linux 版本。



    所以使用上會出現一些問題。安裝64bit skype請下載 Ubuntu 64bit 版本 getskype-linux-beta-ubuntu-64,下載完後請記得再
aptitude install ia32-libs ia32-libs-gtk

完成後直接 dpkg -i 安裝 skype 64bit,順利的話,當開啟 skype 的時候,正常會直接當掉,開console來執行 skype 時,會出現下列錯誤訊息:

Inconsistency detected by ld.so: dl-open.c: 611: _dl_open: Assertion `_dl_debug_initialize (0, args.nsid)->r_state == RT_CONSISTENT' failed!
這個錯誤原因是因為 skype-2.1.0.81-1 會使用 dlopen 開啟 pulseaudio 的library,利用 ldd /usr/lib32/libpulse.so.0.8.0 會發現錯誤的原因:

linux-gate.so.1 => (0xf7776000)
libpulsecommon-0.9.15.so => /usr/lib32/libpulsecommon-0.9.15.so (0xf76e1000)
libX11.so.6 => /usr/lib32/libX11.so.6 (0xf75c4000)
libICE.so.6 => /usr/lib32/libICE.so.6 (0xf75ac000)
libSM.so.6 => /usr/lib32/libSM.so.6 (0xf75a4000)
libXtst.so.6 => /usr/lib32/libXtst.so.6 (0xf759f000)
libwrap.so.0 => not found
libasyncns.so.0 => /usr/lib32/libasyncns.so.0 (0xf7599000)
libdbus-1.so.3 => /lib32/libdbus-1.so.3 (0xf7560000)
libpthread.so.0 => /lib32/libpthread.so.0 (0xf7547000)
libcap.so.2 => /lib32/libcap.so.2 (0xf7543000)
libgdbm.so.3 => not found
librt.so.1 => /lib32/librt.so.1 (0xf7539000)
libdl.so.2 => /lib32/libdl.so.2 (0xf7535000)
libm.so.6 => /lib32/libm.so.6 (0xf750f000)
libc.so.6 => /lib32/libc.so.6 (0xf73c8000)
libwrap.so.0 => not found
libgdbm.so.3 => not found
libxcb.so.1 => /usr/lib32/libxcb.so.1 (0xf73ae000)
libuuid.so.1 => /lib32/libuuid.so.1 (0xf73aa000)
libXext.so.6 => /usr/lib32/libXext.so.6 (0xf739c000)
libresolv.so.2 => /lib32/libresolv.so.2 (0xf7388000)
libnsl.so.1 => /lib32/libnsl.so.1 (0xf7370000)
/lib/ld-linux.so.2 (0xf7777000)
libXau.so.6 => /usr/lib32/libXau.so.6 (0xf736d000)
libXdmcp.so.6 => /usr/lib32/libXdmcp.so.6 (0xf7368000)

相信您已發現有些so檔不存在,這些 so 檔並沒有加入到 ia32-libs,請參閱 Please add libgdbm3 and libwrap0 就能明白。但我們還是必須使用 skype,所以就手動自已加入這些檔案吧,請先下載 32bit 的 libgdbm3, libwrap0
http://packages.debian.org/zh-tw/squeeze/libwrap0
http://packages.debian.org/zh-tw/squeeze/libgdbm3

下載完成後,請繼續完成下列步驟:
ar x libwrap0_7.6.q-19_i386.deb
tar xf data.tar.gz
sudo cp lib/* /lib32/

ar x libgdbm3_1.8.3-9_i386.deb
tar xf data.tar.gz
sudo cp usr/lib/* /usr/lib32/
完成這些動作後,相信您的skype就能正常啟動,而且連 PulseAudio 也能正常使用。

1 則留言:

Aeglos 提到...

大感謝啊,本來已經放棄在64的debian上裝skype了 :p