[Gentoo] 地雷 D-Bus 1.0 和 vmware 5 不相容 (己解決)

前一陣子 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]

Related posts

  1. 問個白痴問題…
    /etc/portage/package.mask 這個檔案做蝦米用的,
    怎麼偶的目錄裡面只有 package.keywords package.use …^^

  2. man 一下 emerge 就可以知道了.
    如果沒有, 可以自己建, 預設 /etc/portage 下應該是沒有檔案.

  3. 我也遇上了這個問題, 不過當初相關套件已基於 dbus 1.0重新編譯了, 實在不想再退回來, 就強忍一段沒有vmware的 日子好了

Leave a Comment


NOTE - You can use these HTML tags and attributes:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>