【问题标题】:installation of vmware workstation 10.0.1 on Centos 7在 Centos 7 上安装 vmware 工作站 10.0.1
【发布时间】:2014-07-23 21:44:44
【问题描述】:

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

我已将 vmnet.tar 文件从 /lib/vmware/modules/source 复制到我的主目录以进行调试。 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中没有。

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

谢谢!

【问题讨论】:

    标签: centos vmware-workstation


    【解决方案1】:

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

    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工作站,它应该能够安装内核模块。 祝你好运!

    【讨论】:

    • 这就是我为使 VM 10.0.3 版正确安装和运行所做的工作。如果我没记错的话,这些宏在 10.0.1 版本中不存在(而且我这周正在旅行,所以我可以确认一种或另一种方式)。最后,我刚刚将我的安装从 10.0.1 升级到 10.0.3,应用了您描述的补丁并继续前进。但是,谢谢你的回答!
    【解决方案2】:

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

    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 应该可以安装内核模块了。

    【讨论】:

      猜你喜欢
      • 2015-10-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-06-22
      • 2018-06-13
      相关资源
      最近更新 更多