Hello folks,
"vmware-modconfig --install-all" fails to install all modules. I attempted to patch vmmon.tar and vmnet.tar in /usr/lib/vmware/modules/source/, as per https://wiki.archlinux.org/index.php/VMware#Kernel_modules_fail_to_build_after_Linux_4.6
# cd /usr/lib/vmware/modules/source # tar xf vmmon.tar # mv vmmon.tar vmmon.old.tar # sed -i 's/uvAddr, numPages, 0, 0/uvAddr, numPages, 0/g' vmmon-only/linux/hostif.c # tar cf vmmon.tar vmmon-only # rm -r vmmon-only # tar xf vmnet.tar # mv vmnet.tar vmnet.old.tar # sed -i 's/addr, 1, 1, 0/addr, 1, 0/g' vmnet-only/userif.c # tar cf vmnet.tar vmnet-only # rm -r vmnet-only
Didn't help. Neither did an older patch for Workstation 12.1 on kernel 4.6.0-1: Re: Workstation 12.1 does not compile on kernel 4.6.0-1
Tail of messages from vmware-modconfig with DEFAULT (installer-provided) vmmon.tar and vmnet.tar - I've also attached the complete log:
Stopping vmware (via systemctl): [ OK ] make: Entering directory '/tmp/modconfig-A9HKtk/vmmon-only' Using kernel build system. /usr/bin/make -C /lib/modules/4.9.10-200.fc25.x86_64/build/include/.. SUBDIRS=$PWD SRCROOT=$PWD/. \ MODULEBUILDDIR= modules make[1]: Entering directory '/usr/src/kernels/4.9.10-200.fc25.x86_64' CC [M] /tmp/modconfig-A9HKtk/vmmon-only/linux/driver.o CC [M] /tmp/modconfig-A9HKtk/vmmon-only/linux/hostif.o CC [M] /tmp/modconfig-A9HKtk/vmmon-only/linux/driverLog.o CC [M] /tmp/modconfig-A9HKtk/vmmon-only/common/memtrack.o CC [M] /tmp/modconfig-A9HKtk/vmmon-only/common/apic.o CC [M] /tmp/modconfig-A9HKtk/vmmon-only/common/vmx86.o CC [M] /tmp/modconfig-A9HKtk/vmmon-only/common/cpuid.o CC [M] /tmp/modconfig-A9HKtk/vmmon-only/common/task.o CC [M] /tmp/modconfig-A9HKtk/vmmon-only/common/hashFunc.o CC [M] /tmp/modconfig-A9HKtk/vmmon-only/common/comport.o CC [M] /tmp/modconfig-A9HKtk/vmmon-only/common/phystrack.o CC [M] /tmp/modconfig-A9HKtk/vmmon-only/vmcore/moduleloop.o /tmp/modconfig-A9HKtk/vmmon-only/common/phystrack.o: warning: objtool: PhysTrack_Free() falls through to next function PhysTrack_Add() /tmp/modconfig-A9HKtk/vmmon-only/common/phystrack.o: warning: objtool: PhysTrack_Add() falls through to next function PhysTrack_Remove() /tmp/modconfig-A9HKtk/vmmon-only/common/phystrack.o: warning: objtool: PhysTrack_Remove() falls through to next function PhysTrack_Test() /tmp/modconfig-A9HKtk/vmmon-only/common/task.o: warning: objtool: .text: unexpected end of section /tmp/modconfig-A9HKtk/vmmon-only/linux/hostif.c: In function ‘HostIFGetUserPages’: /tmp/modconfig-A9HKtk/vmmon-only/linux/hostif.c:1166:67: error: passing argument 5 of ‘get_user_pages’ from incompatible pointer type [-Werror=incompatible-pointer-types] retval = get_user_pages((unsigned long)uvAddr, numPages, 0, 0, ppages, NULL); ^~~~~~ In file included from /tmp/modconfig-A9HKtk/vmmon-only/./include/compat_page.h:23:0, from /tmp/modconfig-A9HKtk/vmmon-only/linux/hostif.c:32: ./include/linux/mm.h:1280:6: note: expected ‘struct vm_area_struct **’ but argument is of type ‘struct page **’ long get_user_pages(unsigned long start, unsigned long nr_pages, ^~~~~~~~~~~~~~ /tmp/modconfig-A9HKtk/vmmon-only/linux/hostif.c:1166:13: error: too many arguments to function ‘get_user_pages’ retval = get_user_pages((unsigned long)uvAddr, numPages, 0, 0, ppages, NULL); ^~~~~~~~~~~~~~ In file included from /tmp/modconfig-A9HKtk/vmmon-only/./include/compat_page.h:23:0, from /tmp/modconfig-A9HKtk/vmmon-only/linux/hostif.c:32: ./include/linux/mm.h:1280:6: note: declared here long get_user_pages(unsigned long start, unsigned long nr_pages, ^~~~~~~~~~~~~~ cc1: some warnings being treated as errors scripts/Makefile.build:293: recipe for target '/tmp/modconfig-A9HKtk/vmmon-only/linux/hostif.o' failed make[2]: *** [/tmp/modconfig-A9HKtk/vmmon-only/linux/hostif.o] Error 1 make[2]: *** Waiting for unfinished jobs.... /tmp/modconfig-A9HKtk/vmmon-only/linux/driver.c:1283:1: warning: always_inline function might not be inlinable [-Wattributes] LinuxDriverSyncReadTSCs(uint64 *delta) // OUT: TSC max - TSC min ^~~~~~~~~~~~~~~~~~~~~~~ Makefile:1494: recipe for target '_module_/tmp/modconfig-A9HKtk/vmmon-only' failed make[1]: *** [_module_/tmp/modconfig-A9HKtk/vmmon-only] Error 2 make[1]: Leaving directory '/usr/src/kernels/4.9.10-200.fc25.x86_64' Makefile:120: recipe for target 'vmmon.ko' failed make: *** [vmmon.ko] Error 2 make: Leaving directory '/tmp/modconfig-A9HKtk/vmmon-only' make: Entering directory '/tmp/modconfig-A9HKtk/vmnet-only' Using kernel build system. /usr/bin/make -C /lib/modules/4.9.10-200.fc25.x86_64/build/include/.. SUBDIRS=$PWD SRCROOT=$PWD/. \ MODULEBUILDDIR= modules make[1]: Entering directory '/usr/src/kernels/4.9.10-200.fc25.x86_64' CC [M] /tmp/modconfig-A9HKtk/vmnet-only/driver.o CC [M] /tmp/modconfig-A9HKtk/vmnet-only/hub.o CC [M] /tmp/modconfig-A9HKtk/vmnet-only/userif.o CC [M] /tmp/modconfig-A9HKtk/vmnet-only/netif.o CC [M] /tmp/modconfig-A9HKtk/vmnet-only/bridge.o CC [M] /tmp/modconfig-A9HKtk/vmnet-only/procfs.o CC [M] /tmp/modconfig-A9HKtk/vmnet-only/smac_compat.o CC [M] /tmp/modconfig-A9HKtk/vmnet-only/smac.o CC [M] /tmp/modconfig-A9HKtk/vmnet-only/vnetEvent.o /tmp/modconfig-A9HKtk/vmnet-only/userif.c: In function ‘UserifLockPage’: /tmp/modconfig-A9HKtk/vmnet-only/userif.c:117:43: error: passing argument 5 of ‘get_user_pages’ from incompatible pointer type [-Werror=incompatible-pointer-types] retval = get_user_pages(addr, 1, 1, 0, &page, NULL); ^ In file included from ./include/linux/highmem.h:7:0, from /tmp/modconfig-A9HKtk/vmnet-only/userif.c:26: ./include/linux/mm.h:1280:6: note: expected ‘struct vm_area_struct **’ but argument is of type ‘struct page **’ long get_user_pages(unsigned long start, unsigned long nr_pages, ^~~~~~~~~~~~~~ /tmp/modconfig-A9HKtk/vmnet-only/userif.c:117:13: error: too many arguments to function ‘get_user_pages’ retval = get_user_pages(addr, 1, 1, 0, &page, NULL); ^~~~~~~~~~~~~~ In file included from ./include/linux/highmem.h:7:0, from /tmp/modconfig-A9HKtk/vmnet-only/userif.c:26: ./include/linux/mm.h:1280:6: note: declared here long get_user_pages(unsigned long start, unsigned long nr_pages, ^~~~~~~~~~~~~~ cc1: some warnings being treated as errors scripts/Makefile.build:293: recipe for target '/tmp/modconfig-A9HKtk/vmnet-only/userif.o' failed make[2]: *** [/tmp/modconfig-A9HKtk/vmnet-only/userif.o] Error 1 make[2]: *** Waiting for unfinished jobs.... In file included from ./include/linux/pci.h:35:0, from /tmp/modconfig-A9HKtk/vmnet-only/compat_netdevice.h:27, from /tmp/modconfig-A9HKtk/vmnet-only/netif.c:43: ./include/linux/pci_ids.h:2253:0: warning: "PCI_VENDOR_ID_VMWARE" redefined #define PCI_VENDOR_ID_VMWARE 0x15ad In file included from /tmp/modconfig-A9HKtk/vmnet-only/net.h:38:0, from /tmp/modconfig-A9HKtk/vmnet-only/vnetInt.h:26, from /tmp/modconfig-A9HKtk/vmnet-only/netif.c:42: /tmp/modconfig-A9HKtk/vmnet-only/vm_device_version.h:56:0: note: this is the location of the previous definition #define PCI_VENDOR_ID_VMWARE 0x15AD In file included from /tmp/modconfig-A9HKtk/vmnet-only/net.h:38:0, from /tmp/modconfig-A9HKtk/vmnet-only/vnetInt.h:26, from /tmp/modconfig-A9HKtk/vmnet-only/bridge.c:52: /tmp/modconfig-A9HKtk/vmnet-only/vm_device_version.h:56:0: warning: "PCI_VENDOR_ID_VMWARE" redefined #define PCI_VENDOR_ID_VMWARE 0x15AD In file included from ./include/linux/pci.h:35:0, from /tmp/modconfig-A9HKtk/vmnet-only/compat_netdevice.h:27, from /tmp/modconfig-A9HKtk/vmnet-only/bridge.c:51: ./include/linux/pci_ids.h:2253:0: note: this is the location of the previous definition #define PCI_VENDOR_ID_VMWARE 0x15ad Makefile:1494: recipe for target '_module_/tmp/modconfig-A9HKtk/vmnet-only' failed make[1]: *** [_module_/tmp/modconfig-A9HKtk/vmnet-only] Error 2 make[1]: Leaving directory '/usr/src/kernels/4.9.10-200.fc25.x86_64' Makefile:120: recipe for target 'vmnet.ko' failed make: *** [vmnet.ko] Error 2 make: Leaving directory '/tmp/modconfig-A9HKtk/vmnet-only' Unable to install all modules. See log for details.
Thanks.
Hello,
Thare is an AUR package for applying patches: https://aur.archlinux.org/packages/vmware-patch/
Did you try it?
Please feed back.
Thank you.