2009年11月12日木曜日

Ubuntu 9.10 as Guest OS on VirtualBox 2.2.4

このエントリーをはてなブックマークに追加
Guest Additions をインストールする時に発生する不具合の対処方法について

Ubuntu 9.10 を VirtualBox 2.2.4 のゲスト OS としてインストールするのは問題なく終了。次に Guest Additions をインストールする時に、次のメッセージが出力される。

$ cd /media/cdrom
$ sudo sh ./VBoxLinuxAdditions-x86.run
[sudo] password for sta:
Verifying archive integrity... All good.
Uncompressing VirtualBox 2.2.4 Guest Additions for Linux installation..............................................................................................................................................................................................................................
VirtualBox 2.2.4 Guest Additions installation
Building the VirtualBox Guest Additions kernel module...
Building the shared folder support kernel module...
Unable to build the kernel module. See the log file /var/log/vboxadd-install.log
for more details.

「/var/log/vboxadd-install.log」を確認すると

...
/tmp/vbox.0/utils.c: In function ‘sf_path_from_dentry’:
/tmp/vbox.0/utils.c:362: error: implicit declaration of function ‘utf8_wctomb’
/tmp/vbox.0/utils.c: In function ‘sf_nlscpy’:
/tmp/vbox.0/utils.c:420: error: implicit declaration of function ‘utf8_mbtowc’
make[2]: *** [/tmp/vbox.0/utils.o] エラー 1
make[1]: *** [_module_/tmp/vbox.0] エラー 2
make: *** [vboxvfs] エラー 2

関数「utf8_wctomb」、「utf8_mbtowc」が宣言されていない状態らしい。

次の手順で、対処可能。

--target を指定してインストール実行

--target NewDirectory Extract in NewDirectory
--target で指定した任意のディレクトリに Guest Additions の資源が展開される(指定したディレクトリが存在しない場合は作成される)。

$ sudo sh ./VBoxLinuxAdditions-x86.run --target /usr/local/tmp/vbox

展開された資源の「/usr/local/tmp/vbox/module/vboxvfs/utils.c」を修正

28~31行目を追加。
#include <linux/nfs_fs.h>
#include <linux/vfs.h>

#if LINUX_VERSION_CODE >= KERNEL_VERSION (2, 6, 31)
int utf8_mbtowc(wchar_t*pu, const __u8*s, int len){return utf8_to_utf32(s,len,(unicode_t *)pu);}
int utf8_wctomb(__u8*s, wchar_t u, int maxlen){return utf32_to_utf8((unicode_t)u,s,maxlen);}
#endif

/* #define USE_VMALLOC */

インストール再実行

$ cd /usr/local/tmp/vbox
$ sudo ./install.sh
VirtualBox 2.2.4 Guest Additions installation
Building the VirtualBox Guest Additions kernel module...
Building the shared folder support kernel module...
Building the drm support kernel module...
Installing the VirtualBox Guest Additions...

Successfully installed the VirtualBox Guest Additions.
You must restart your guest system in order to complete the installation.

VirtualBox 3.* 系の Guest Additions では発生しない模様。

参考

0 件のコメント:

コメントを投稿