在 Fedora 28 上初始化 VMware Player 14:无法编译虚拟机监视器

在 Fedora 28 上初始化 VMware Player 14:无法编译虚拟机监视器

当我在 Fedora 28 中安装 VMware Player 14 时,我无法编译用于执行 VMware 的 vmmon 模块。 vmnet 已成功编译,但对于 vmmon 却出现以下错误:

/tmp/modconfig-rBg8Xn/vmmon-only/linux/hostif.c: In function ‘HostIF_InitUptime’:
/tmp/modconfig-rBg8Xn/vmmon-only/linux/hostif.c:1779:4: error: implicit
declaration of function ‘init_timer’; did you mean ‘init_timers’? 
[-Werror=implicit-function-declaration]
init_timer(&uptimeState.timer);
^~~~~~~~~~
init_timers
/tmp/modconfig-rBg8Xn/vmmon-only/linux/hostif.c:1780:31: error: assignment
to ‘void (*)(struct timer_list *)’ from incompatible pointer type ‘void 
(*)(long unsigned int)’ [-Werror=incompatible-pointer-types]
uptimeState.timer.function = HostIFUptimeResyncMono;
                           ^

我运行的命令是:

sudo vmware-modconfig --console --install-all

另外,所有内核模块都根据命令正确安装:

 sudo dnf install gcc glibc-headers kernel-devel kernel-headers patch

我怎样才能解决这个问题?我是否下载了错误的模块?

答案1

出现此问题的原因是 Linux 内核最近发生了重大更改。该问题已被报告,例如, 这里

内核4.15-rc1已经发布,简要细节如下: http://lkml.iu.edu/hypermail/linux/kernel/1711.3/00971.html

使用 VMware 14.0.0 – 加上 4.14 vmmon 补丁 – vmmon 再次中断 [...]

可能的解决方案是应用位于这里对于VMWare。

相关内容