Jas*_*ter 6 vmware compiling 18.10
尝试使用 linux-5.0.1-050001-generic 在 Ubuntu-18.10 上构建 VMware 模块
vmware-modconfig --console --install-all
这是整个输出:https : //pastebin.com/d61HGWJR
在 /tmp/modconfig-QBnnBd/vmmon-only/linux/hostif.c:42 包含的文件中:
./include/linux/mm.h:52:29: 注意:'totalram_pages' 的先前定义在这里
静态内联 unsigned long totalram_pages(void)
^~~~~~~~~~~~~~
/tmp/modconfig-QBnnBd/vmmon-only/linux/hostif.c:在函数“HostIFReadUptimeWork”中:
/tmp/modconfig-QBnnBd/vmmon-only/linux/hostif.c:1787:4: 错误:函数“do_gettimeofday”的隐式声明;你的意思是“do_settimeofday64”?[-Werror=隐式函数声明]
do_gettimeofday(&tv);
^~~~~~~~~~~~~~~~
do_settimeofday64
/tmp/modconfig-QBnnBd/vmmon-only/linux/hostif.c:在函数“HostIF_MapUserMem”中:
/tmp/modconfig-QBnnBd/vmmon-only/linux/hostif.c:3408:40: 错误:宏“access_ok”传递了 3 个参数,但只需要 2 个
if (!access_ok(VERIFY_WRITE, p, size)) {
^
/tmp/modconfig-QBnnBd/vmmon-only/linux/hostif.c:3408:9: 错误: 'access_ok' 未声明(首次在此函数中使用)
if (!access_ok(VERIFY_WRITE, p, size)) {
^~~~~~~~~~
/tmp/modconfig-QBnnBd/vmmon-only/linux/hostif.c:3408:9:注意:每个未声明的标识符对于它出现的每个函数只报告一次
cc1:一些警告被视为错误
make[2]: *** [scripts/Makefile.build:277: /tmp/modconfig-QBnnBd/vmmon-only/linux/hostif.o] 错误 1
make[2]: *** 等待未完成的工作....
/tmp/modconfig-QBnnBd/vmmon-only/common/task.o:警告:objtool:Task_Switch()+0x4db:在 RETPOLINE 构建中找到间接调用
/tmp/modconfig-QBnnBd/vmmon-only/common/task.o:警告:objtool:.text:部分意外结束
make[1]: *** [Makefile:1553: _module_/tmp/modconfig-QBnnBd/vmmon-only] 错误 2
make[1]: 离开目录 '/usr/src/linux-headers-5.0.1-050001-generic'
make: *** [Makefile:110: vmmon.ko] 错误 2
制作:离开目录'/tmp/modconfig-QBnnBd/vmmon-only'
制作:进入目录'/tmp/modconfig-QBnnBd/vmnet-only'
使用内核构建系统。
/usr/bin/make -C /lib/modules/5.0.1-050001-generic/build/include/.. SUBDIRS=$PWD SRCROOT=$PWD/. \
MODULEBUILDDIR= 模块
make[1]: 进入目录'/usr/src/linux-headers-5.0.1-050001-generic'
Makefile:189: ================== 警告 ================
Makefile:190: 'SUBDIRS' 将在 Linux 5.3 之后被删除
Makefile:191: 请改用“M=”或“KBUILD_EXTMOD”
Makefile:192: ==========================================
CC [M] /tmp/modconfig-QBnnBd/vmnet-only/driver.o
CC [M] /tmp/modconfig-QBnnBd/vmnet-only/hub.o
CC [M] /tmp/modconfig-QBnnBd/vmnet-only/userif.o
CC [M] /tmp/modconfig-QBnnBd/vmnet-only/netif.o
CC [M] /tmp/modconfig-QBnnBd/vmnet-only/bridge.o
CC [M] /tmp/modconfig-QBnnBd/vmnet-only/procfs.o
CC [M] /tmp/modconfig-QBnnBd/vmnet-only/smac_compat.o
CC [M] /tmp/modconfig-QBnnBd/vmnet-only/smac.o
/tmp/modconfig-QBnnBd/vmnet-only/userif.c:在函数“VNetUserIfMapPtr”中:
/tmp/modconfig-QBnnBd/vmnet-only/userif.c:145:52: 错误:宏“access_ok”传递了 3 个参数,但只需要 2 个
if (!access_ok(VERIFY_WRITE, (void *)uAddr, size) ||
^
/tmp/modconfig-QBnnBd/vmnet-only/userif.c:145:9: 错误: 'access_ok' 未声明(首次在此函数中使用)
if (!access_ok(VERIFY_WRITE, (void *)uAddr, size) ||
^~~~~~~~~~
/tmp/modconfig-QBnnBd/vmnet-only/userif.c:145:9:注意:每个未声明的标识符只针对它出现的每个函数报告一次
在 ./include/linux/pci.h:37 包含的文件中,
来自 /tmp/modconfig-QBnnBd/vmnet-only/compat_netdevice.h:27,
来自 /tmp/modconfig-QBnnBd/vmnet-only/netif.c:43:
./include/linux/pci_ids.h:2278: 警告:“PCI_VENDOR_ID_VMWARE”重新定义
#define PCI_VENDOR_ID_VMWARE 0x15ad
在 /tmp/modconfig-QBnnBd/vmnet-only/net.h:38 包含的文件中,
来自 /tmp/modconfig-QBnnBd/vmnet-only/vnetInt.h:26,
来自 /tmp/modconfig-QBnnBd/vmnet-only/netif.c:42:
/tmp/modconfig-QBnnBd/vmnet-only/vm_device_version.h:56:注意:这是之前定义的位置
#define PCI_VENDOR_ID_VMWARE 0x15AD
在 ./include/linux/pci.h:37 包含的文件中,
来自 /tmp/modconfig-QBnnBd/vmnet-only/compat_netdevice.h:27,
来自 /tmp/modconfig-QBnnBd/vmnet-only/netif.c:43:
./include/linux/pci_ids.h:2279: 警告:“PCI_DEVICE_ID_VMWARE_VMXNET3”重新定义
#define PCI_DEVICE_ID_VMWARE_VMXNET3 0x07b0
在 /tmp/modconfig-QBnnBd/vmnet-only/net.h:38 包含的文件中,
来自 /tmp/modconfig-QBnnBd/vmnet-only/vnetInt.h:26,
来自 /tmp/modconfig-QBnnBd/vmnet-only/netif.c:42:
/tmp/modconfig-QBnnBd/vmnet-only/vm_device_version.h:73:注意:这是之前定义的位置
#define PCI_DEVICE_ID_VMWARE_VMXNET3 0x07B0
CC [M] /tmp/modconfig-QBnnBd/vmnet-only/vnetEvent.o
make[2]: *** [scripts/Makefile.build:277: /tmp/modconfig-QBnnBd/vmnet-only/userif.o] 错误 1
make[2]: *** 等待未完成的工作....
在 /tmp/modconfig-QBnnBd/vmnet-only/net.h:38 包含的文件中,
来自 /tmp/modconfig-QBnnBd/vmnet-only/vnetInt.h:26,
来自 /tmp/modconfig-QBnnBd/vmnet-only/bridge.c:53:
/tmp/modconfig-QBnnBd/vmnet-only/vm_device_version.h:56: 警告:“PCI_VENDOR_ID_VMWARE”重新定义
#define PCI_VENDOR_ID_VMWARE 0x15AD
在 ./include/linux/pci.h:37 包含的文件中,
来自 /tmp/modconfig-QBnnBd/vmnet-only/compat_netdevice.h:27,
来自 /tmp/modconfig-QBnnBd/vmnet-only/bridge.c:52:
./include/linux/pci_ids.h:2278:注意:这是之前定义的位置
#define PCI_VENDOR_ID_VMWARE 0x15ad
在 /tmp/modconfig-QBnnBd/vmnet-only/net.h:38 包含的文件中,
来自 /tmp/modconfig-QBnnBd/vmnet-only/vnetInt.h:26,
来自 /tmp/modconfig-QBnnBd/vmnet-only/bridge.c:53:
/tmp/modconfig-QBnnBd/vmnet-only/vm_device_version.h:73: 警告:“PCI_DEVICE_ID_VMWARE_VMXNET3”重新定义
#define PCI_DEVICE_ID_VMWARE_VMXNET3 0x07B0
在 ./include/linux/pci.h:37 包含的文件中,
来自 /tmp/modconfig-QBnnBd/vmnet-only/compat_netdevice.h:27,
来自 /tmp/modconfig-QBnnBd/vmnet-only/bridge.c:52:
./include/linux/pci_ids.h:2279:注意:这是之前定义的位置
#define PCI_DEVICE_ID_VMWARE_VMXNET3 0x07b0
make[1]: *** [Makefile:1553: _module_/tmp/modconfig-QBnnBd/vmnet-only] 错误 2
make[1]: 离开目录 '/usr/src/linux-headers-5.0.1-050001-generic'
make: *** [Makefile:110: vmnet.ko] 错误 2
制作:离开目录'/tmp/modconfig-QBnnBd/vmnet-only'
无法安装所有模块。有关详细信息,请参阅日志。
小智 6
使用github.com/mkubecek/vmware-host-modules上的补丁。
您需要知道您正在尝试安装 VMWare Workstation 还是 Player,以及哪个版本。
您可以使用以下命令获取您的 VMWare 版本:
$ vmware -v
Run Code Online (Sandbox Code Playgroud)
在下面的示例中,我假设 VMWare Workstation 15.0.1:
$ git clone https://github.com/mkubecek/vmware-host-modules
$ cd vmware-host-modules
$ git checkout workstation-15.0.1
$ make
$ sudo make install
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3851 次 |
| 最近记录: |