我正在尝试在新安装的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中没有。
任何人都有指向此问题的解决方案的链接。
谢谢!
答案 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,它应该能够安装内核模块。