debian squeezeにvmplayer4をインストールする

■なぜこんな当たり前の事をブログに書くのか。

 ・HDDのパーティションの一部が故障した為、交換した。
 ・故意に間違えて、母艦にamd64版のDebian squuzeをインストールしてしまった。
 ・squuzeで何も考えずにvmplayer4.0.0をインストールしようとしてもハマる。

⇒「squeezeはハマる。」というのは、私の中では常識と化しています。

■いつもの通り事前準備の「gcc、kernel-header」のインストール

$ sudo apt-get install "gcc linux-headers-`uname -r`"

■症状
 vmplayerのインストールは正常に完了するが、初回起動時のモジュールのコンパイルに失敗する。

■インストール方法

# ./VMware-Player-4.0.0-471780.x86_64.bundle --console
# ./VMware-VIX-1.11.0-471780.x86_64.bundle --console

■プロダクトの確認方法

# ./VMware-VIX-1.11.0-471780.x86_64.bundle -l --console
Extracting VMware Installer...done.
Product Name Product Version
==================== ====================
vmware-player 4.0.0.471780
vmware-vix 1.11.0.471780

■再インストールの為のアンインストール

# ./VMware-Player-4.0.0-471780.x86_64.bundle --uninstall-product vmware-vix --console
# ./VMware-Player-4.0.0-471780.x86_64.bundle --uninstall-product vmware-player --console

■vmplayerが出すエラーを参考にモジュールのログを見るが。。。

# grep Failed /tmp/vmware-root/modconfig-4186.log | cut -c 30- | sort | uniq
| vthread-3| I120: Failed to find /lib/modules/2.6.32-5-amd64/build/include/generated/utsrelease.h
| vthread-3| I120: Failed to find /lib/modules/preferred/build/include/linux/version.h
| vthread-3| I120: Failed version test: /lib/modules/preferred/build/include/linux/version.h not found.
| vthread-3| I120: PREF Failed to load user preferences.
| vthread-3| I120: [msg.dictionary.load.openFailed] Cannot open file "/root/.vmware/config": そのようなファイルやディレクトリはありません.
| vthread-3| I120: [msg.dictionary.load.openFailed] Cannot open file "/root/.vmware/preferences": そのようなファイルやディレクトリはありません.
| vthread-3| I120: [msg.dictionary.load.openFailed] Cannot open file "/usr/lib/vmware/settings": そのようなファイルやディレクトリはありません.

⇒開くのに失敗しているモジュールファイルはlennyにも無い。
 何かが違う。。。

■参考:Vmplayer 3 problem on Debian 6

 http://www.linuxquestions.org/questions/linux-virtualization-90/vmplayer-3-problem-on-debian-6-a-886381/

⇒なるほど、apploaderのログの方か。

# cat /tmp/vmware-root/apploader-6021.log | grep libgtkmm
2011-11-06T01:28:22.713+09:00| appLoader| I120: Marking libgtkmm-2.4.so.1 node as INVALID.
2011-11-06T01:28:23.253+09:00| appLoader| I120: -- Processing libgtkmm-2.4.so.1 --
2011-11-06T01:28:23.265+09:00| appLoader| I120: libgtkmm-2.4.so.1 validator returned true.
2011-11-06T01:28:23.265+09:00| appLoader| I120: Marking libgtkmm-2.4.so.1 node as SYSTEM.
2011-11-06T01:28:23.265+09:00| appLoader| I120: -- Finished processing libgtkmm-2.4.so.1 --
2011-11-06T01:28:23.473+09:00| appLoader| I120: libgtkmm-2.4.so.1 
2011-11-06T01:28:23.486+09:00| appLoader| I120: Loading system version of libgtkmm-2.4.so.1.

■パッケージを検索してみる。

# apt-cache search libgtkmm
libgtkmm-2.4-dbg - C++ wrappers for GTK+ (debug symbols)
libgtkmm-2.4-dev - C++ wrappers for GTK+ (development files)
libgtkmm-2.4-1c2a - GTK+ 用 C++ ラッパ (共有ライブラリ)
libgtkmm-2.4-doc - GTK+ 用 C++ ラッパ (ドキュメンテーション)

■「libgtkmm-2.4-1c2a」はlennyにもsqueezeにもあった。

★lenny

$ dpkg -L libgtkmm-2.4-1c2a | grep libgtkmm | grep so
/usr/lib/libgtkmm-2.4.so.1.0.30
/usr/lib/libgtkmm-2.4.so.1

■squeeze

$ dpkg -L libgtkmm-2.4-1c2a | grep libgtkmm | grep so
/usr/lib/libgtkmm-2.4.so.1.1.0
/usr/lib/libgtkmm-2.4.so.1

# apt-cache depends libgtkmm-2.4-dev
libgtkmm-2.4-dev
依存: libgtkmm-2.4-1c2a
依存: libgtk2.0-dev
依存: libglibmm-2.4-dev
依存: libatk1.0-dev
依存: libcairomm-1.0-dev
依存: libpangomm-1.4-dev
提案: libgtkmm-2.4-doc

# apt-cache depends libgtkmm-2.4-dbg
libgtkmm-2.4-dbg
依存: libgtkmm-2.4-1c2a

■デバッグ版を入れると、開発版が入る。

$ sudo apt-get install libgtkmm-2.4-dbg

$ dpkg -L libgtkmm-2.4-dbg | grep libgtkmm | grep so
/usr/lib/debug/usr/lib/libgtkmm-2.4.so.1.1.0

# dpkg -L libgtkmm-2.4-dev | grep libgtkmm | grep so
/usr/lib/libgtkmm-2.4.so

■これでvmplayerの起動時のコンパイルが完了した。

■モジュールを確認。

# modprobe -l | grep "misc" | grep vm
misc/vmmon.ko
misc/vmblock.ko
misc/vmci.ko
misc/vmnet.ko

■後は普通に。。。

lennyだと何も考えなくても出来るのに。。。