VMware Communities
giorgit
Contributor
Contributor

Install VMware Workstation Player Pro 12.5.2 on Fedora 25 (4.9.10-200.fc25.x86_64)

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.

Reply
0 Kudos
1 Reply
rakotomandimby
Enthusiast
Enthusiast

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.

Reply
0 Kudos