前一陣子 Gentoo 的 unstable (KEYWORD ~x86) 偷偷將 D-bus 從 0.62 升到 1.0 後, 災難就開始了.
vmware 會出現這樣的訊息
/opt/vmware/workstation/lib/bin/vmware: /opt/vmware/workstation/lib/lib/libpng12.so.0/libpng12.so.0: no version information available (required by /usr/lib/libcairo.so.2)
process 18221: Attempt to remove filter function 0xb68dcba0 user data 0x8803190, but no such filter has been added
D-Bus not built with -rdynamic so unable to print a backtrace
/opt/vmware/workstation/lib/bin/vmware: /opt/vmware/workstation/lib/lib/libpng12.so.0/libpng12.so.0: no version information available (required by /usr/lib/libcairo.so.2)
/opt/vmware/workstation/lib/bin/vmware: /opt/vmware/workstation/lib/lib/libpng12.so.0/libpng12.so.0: no version information available (required by /usr/lib/libcairo.so.2)
process 18234: Attempt to remove filter function 0xb6e97ba0 user data 0x8801498, but no such filter has been added
D-Bus not built with -rdynamic so unable to print a backtrace
主要來說是 vmware 內的 libcairo 會呼叫 dbus 的 library, 而某些 function 的行為在 0.62 和 1.0 是不一樣的.
暫時先換回到 0.62
首先修改檔案
# vim /etc/portage/package.mask
加上 Tag
>=sys-apps/dbus-1.0
>x11-libs/qt-4.2.1
重新升級系統
# emerge -u sys-apps/dbus x11-libs/qt
將系統和 d-bus 和 qt 相關的程式重新 compile 一遍
# revdep-rebuild
應該就大功告成了….
沒事不要踩地雷呀!!!
Update: 20070328
http://www.vmware.com/community/thread.jspa?threadID=54921 這一篇應該是解決方法. 等一下來試試看.
Update: 20070419
啟動 hald 就可以了
# /etc/init.d/hald start
# rc-update add hald default
[Tags] Gentoo, Vmware, D-Bus [/Tags]
Van Hazard
問個白痴問題…
/etc/portage/package.mask 這個檔案做蝦米用的,
怎麼偶的目錄裡面只有 package.keywords package.use …^^
Van Hazard
好吧,自己做功課,沒連結沒真相…= =
http://www.gentoo.org/doc/zh_tw/handbook/handbook-x86.xml?part=3&chap=3
richliu
man 一下 emerge 就可以知道了.
如果沒有, 可以自己建, 預設 /etc/portage 下應該是沒有檔案.
semson
我也遇上了這個問題, 不過當初相關套件已基於 dbus 1.0重新編譯了, 實在不想再退回來, 就強忍一段沒有vmware的 日子好了