2010年8月4日 星期三

Debian testing 的 flashplayer-mozilla

最近Flash Plugin更新後,一直沒有64bit釋出,Marillat有包裝出一個flashplayer-mozilla的deb,它會自動設定nspluginwrapper來使用32bit的flash plugin。然而在安裝該套件時並不是那麼順利,由aptitude install flashplayer-mozilla會出現下述的錯誤訊息。

nspluginwrapper: no appropriate viewer found for /usr/lib/flashplayer/libflashplayer.so
這並不是我們要的,呼叫 ldd 大神檢查 plugin 缺少的library 吧。

ldd /usr/lib/flashplayer/libflashplayer.so
linux-gate.so.1 =>  (0xf7798000)
...
...
libnss3.so => not found
libsmime3.so => not found
libssl3.so => not found
libplds4.so => not found
libplc4.so => not found
libnspr4.so => not found

主要是這四個 so 檔案找不到,雖然 aptitude 自動解決了套件的相依性,依舊找不到 so 的原因出於 ia32-libs-libnss3 的套件將 so 放置在:

/emul/ia32-linux/usr/lib/libnss3.so
/emul/ia32-linux/usr/lib/libsmime3.so
/emul/ia32-linux/usr/lib/libnssutil3.so
/emul/ia32-linux/usr/lib/libssl3.so


答案就揭曉了,我們只需將 /emul/ia32-linux/usr/lib 加入到 /etc/ld.so.conf 再執行 ldconfig,就能讓系統找到這個路徑下的 so 檔案。
再度重裝 flashplayer-mozilla,就一切正常了。