VMware Player 2.0.0-45731(x86_64版)が起動しなかった問題に対処
Gentoo LinuxのOverlay*1でインストールしたVMware Player 2.0.0-45731だったが、仮想マシンの選択までいく前に落ちてしまう。
$ /opt/vmware/player/bin/vmplayer GTK Accessibility Module initialized /opt/vmware/player/lib/bin/vmplayer: symbol lookup error: /opt/vmware/player/lib/lib/libvmwareui.so.0/libvmwareui.so.0: undefined symbol: _ZN3Gtk13RecentManager11get_defaultEv
「VMWARE_USE_SHIPPED_GTK=yes(force)」を付けるとよい、という情報をもとに実行したが失敗。「force」を付けてもだめだった。
$ VMWARE_USE_SHIPPED_GTK=yes /opt/vmware/player/bin/vmplayer GTK Accessibility Module initialized /opt/vmware/player/lib/bin/vmplayer: symbol lookup error: /usr/lib/libspi.so.0: undefined symbol: atk_hyperlink_impl_get_type
今度はATKライブラリに未解決シンボルがあるということで、バージョンを上げてみた(1.12.4 -> 1.18.0)。が変化なし。
VMware Playerは、GTK+や関連ライブラリを同梱している、ということを思い出し、システムのATKライブラリで置き換えてみることにした。
$ sudo mv /opt/vmware/player/lib/lib/libatk-1.0.so.0/libatk-1.0.so.0 /opt/vmware/player/lib/lib/libatk-1.0.so.0/libatk-1.0.so.0.orig $ sudo cp /usr/lib/libatk-1.0.so.0 /opt/vmware/player/lib/lib/libatk-1.0.so.0 -i $ VMWARE_USE_SHIPPED_GTK=yes /opt/vmware/player/bin/vmplayer
これで起動成功。これはVMware側による「バグ」ということだろうか。後で確認したのだが、システムのATKのバージョンを1.12.4に戻して、その中のlibatk-1.0.so.0で置き換えても動作し、1.18.0を使用する必要がないことも分かった。
(2007/6/19)更に、システムのATKライブラリでVMware Player側のファイルを上書きしなくても、
$ VMWARE_USE_SHIPPED_GTK=yes LD_PRELOAD=/usr/lib/libatk-1.0.so /opt/vmware/player/bin/vmplayer
で実行できることも分かった。
あとは
[任意]ファイル名: ~/bin/vmplayer
#! /bin/sh VMWARE_USE_SHIPPED_GTK=yes LD_PRELOAD=/usr/lib/libatk-1.0.so /opt/vmware/player/bin/vmplayer "$@"
このようなファイルを作成して実行させる。
(2007/6/21)バージョン2では、ファイル選択ダイアログを開いてvmxファイルを選択する以外に、「最近開いた仮想マシンリスト」からも選択ができて便利なのだが、従来と同様、引数にvmxファイルの場所を指定する起動方法も可能なので、メニューやランチャに登録する場合、実行コマンドの部分に
~/bin/vmplayer [vmxファイルの場所]
のように書くと*2一発で起動させられるので、こちらのほうが便利かも。
(2007/7/9)現在はGentoo Linux公式のパッケージが利用できる。まだテスト中ということでハードマスクされているままなので、/etc/portage/package.unmaskに
>=app-emulation/vmware-workstation-6 >=app-emulation/vmware-player-2 >=app-emulation/vmware-modules-1.0.0.16
を記述することでマスクを外しておく必要がある。
なお、手元の環境ではGentoo公式のパッケージに入れ直しているが、この記事の問題点はすでに解消され、
$ /opt/vmware/player/bin/vmplayer &
で起動できている。
(2007/11/14)ハードマスクの外された、より新しいバージョンが使用できるようになっている。が、Overlayのほうが取り込みが早いようだ。2.0.2-59824で、動作上の大きな問題は起きていない。
*1:Gentoo Linux公式以外のパッケージを同じパッケージシステムで追加する仕組み
*2:vmxファイルの場所は、フルパスで書くのが無難だが、Xfce4では${HOME}からの相対パスで「.vmware/foo/bar.vmx」のような形でも書ける