在Centos 7上安装vmware工作站10.0.1

时间:2014-07-23 21:44:44

标签: centos vmware-workstation

我正在尝试在新安装的CEntOS版本7(内核版本3.10.0)上安装VMware工作站10.0.1。

我已将/ lib / vmware / modules / source中的vmnet.tar文件复制到我的主目录以进行调试。 vmnet模块的构建失败,并显示以下错误消息:

/bin/make -j12 auto-build HEADER_DIR=/lib/modules/3.10.0-123.el7.x86_64/build/include CC=/bin/gcc IS_GCC_3=no
Using 2.6.x kernel build system.
/bin/make -C /lib/modules/3.10.0-123.el7.x86_64/build/include/.. SUBDIRS=$PWD SRCROOT=$PWD/. \
MODULEBUILDDIR= modules
make[1]: Entering directory `/usr/src/kernels/3.10.0-123.el7.x86_64'
  CC [M]  /home/******/junk/vmnet-only/filter.o
/home/******/junk/vmnet-only/filter.c:206:1: error: conflicting types for ‘VNetFilterHookFn’
VNetFilterHookFn (unsigned int hooknum,                 // IN:
^
/home/******/junk/vmnet-only/filter.c:64:18: note: previous declaration of ‘VNetFilterHookFn’ was here
static nf_hookfn VNetFilterHookFn;
                 ^
/home/******/junk/vmnet-only/filter.c:64:18: warning: ‘VNetFilterHookFn’ used but never defined [enabled by default]
/home/******/junk/vmnet-only/filter.c:206:1: warning: ‘VNetFilterHookFn’ defined but not used [-Wunused-function]
VNetFilterHookFn (unsigned int hooknum,                 // IN:
^ 
make[2]: *** [/home/******/junk/vmnet-only/filter.o] Error 1
make[1]: *** [_module_/home/******/junk/vmnet-only] Error 2
make[1]: Leaving directory `/usr/src/kernels/3.10.0-123.el7.x86_64'
make: *** [vmnet.ko] Error 2

我已经搜索了一下,但我没有找到任何特定于WS 10.0.1的内容,虽然我确实找到了一些安装WS 10.0.3的补丁但看起来这些补丁会是对WS 10.0.1无效。我相信这是因为他们在补丁中修改的宏(KERNEL_VERSION)在违规文件filter.c中没有。

任何人都有指向此问题的解决方案的链接。

谢谢!

2 个答案:

答案 0 :(得分:0)

我有类似的问题。找到了这个解决方案并且工作了:

cd /usr/lib/vmware/modules/source
tar -xvf vmnet.tar
cd vmnet-only
vi filter.c

转到第206和259行并替换字符串

#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 13, 0)

通过

#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 0, 0)

然后:

cd ..
tar -uvf vmnet.tar vmnet-only
rm -rf vmnet-only

然后再次运行vmware工作站,它应该能够安装内核模块。 祝你好运!

答案 1 :(得分:0)

user3910091有正确的答案。这也适用于RHEL7上的10.0.3。奇怪的是,看起来他们在10.0.3中修补了它,但是他们的补丁使用了&gt; =并且过滤器选项的顺序相反,但是相同的次要内核版本更改似乎可以修复它。

cd /usr/lib/vmware/modules/source
tar -xvf vmnet.tar
cd vmnet-only
vi filter.c

转到206和259行并替换字符串

#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 13, 0)

通过

#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 0, 0)

然后:

cd ..
tar -uvf vmnet.tar vmnet-only
rm -rf vmnet-only

然后再次运行/ usr / bin / vmware,它应该能够安装内核模块。