1 Reply Latest reply on Sep 16, 2017 10:35 AM by rakotomandimby

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

    giorgit Lurker

      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.