Linux, 工作, 生活, 家人

Gentoo

[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]

4 留言

  1. Van Hazard

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

  2. Van Hazard

    好吧,自己做功課,沒連結沒真相…= =
    http://www.gentoo.org/doc/zh_tw/handbook/handbook-x86.xml?part=3&chap=3

  3. 文章作者的留言

    richliu

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

  4. semson

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

發佈留言