VirtualBox速度是快但是不够稳定,有些应用会直接core down,正好最近Vmware WorkStation 6发布了,所以部分在VirtualBox上跑的有问题的我就转到了Vmware WorkStation6了,可在最新的2.6.22-6内核上确编译Vmnet模块时却失败了,报如下错误:
[bash] make: Entering directory `/tmp/vmware-config0/vmnet-only' make -C /lib/modules/2.6.22-6-generic/build/include/.. SUBDIRS=$PWD SRCROOT=$PWD/. modules make[1]: Entering directory `/usr/src/linux-headers-2.6.22-6-generic' CC [M] /tmp/vmware-config0/vmnet-only/driver.o CC [M] /tmp/vmware-config0/vmnet-only/hub.o CC [M] /tmp/vmware-config0/vmnet-only/userif.o /tmp/vmware-config0/vmnet-only/userif.c: 在函数 ‘VNetCopyDatagramToUser’ 中: /tmp/vmware-config0/vmnet-only/userif.c:630: 错误: ‘const struct sk_buff’ 没有名为 ‘h’ 的成员 /tmp/vmware-config0/vmnet-only/userif.c:630: 错误: ‘const struct sk_buff’ 没有名为 ‘nh’ 的成员 /tmp/vmware-config0/vmnet-only/userif.c:636: 错误: ‘const struct sk_buff’ 没有名为 ‘h’ 的成员 make[2]: *** [/tmp/vmware-config0/vmnet-only/userif.o] 错误 1 make[1]: *** [_module_/tmp/vmware-config0/vmnet-only] 错误 2 make[1]: Leaving directory `/usr/src/linux-headers-2.6.22-6-generic' make: *** [vmnet.ko] 错误 2 make: Leaving directory `/tmp/vmware-config0/vmnet-only' Unable to build the vmnet module.
哎,又是一个和内核编码规范不符合的BUG,还好已经有人修复了这个问题,详见这里的讨论。
具体的修复方法如下:
[bash] cd /tmp wget http://labs.eshangrao.com/files/vmnet.tar cd /usr/lib/vmware/modules/source sudo mv vmnet.tar vmnet.tar.old cp /tmp/vmnet.tar ./
然后使用如下命令按提示重新编译Vmware模块就可以了:
[bash] sudo vmware-config.pl
O comments at "Vmware WorkStaion 6在Ubuntu Gutsy编译出错的解决方法"