8 Replies Latest reply on Jan 7, 2018 7:17 AM by JurgenD

    VMware Workstation 12.5.7 build-5813279.x86_64 does not compile on openSUSE-Leap-42.3-DVD-x86_64

    jpearso Novice

      Hello all

       

      I installed VMware-Workstation-Full-12.5.7-5813279 on openSUSE-Leap-42.3-DVD-x86_64

       

      The installation goes fine but both vmnet-only and vmmon-only modules error out when compiling which means that VMware "Virtual machine monitor" and "Virtual ethernet " services fail to start.

       

      I was wondering if there are any patchs or work arounds.

      TIA

      James

       

      # specs

      VMware Workstation Version : 12.5.7

      Release Date : 2017-06-22

      Bundle : VMware-Workstation-Full-12.5.7-5813279.x86_64.bundle

      openSUSE-Leap-42.3-DVD-x86_64

      uname -a : Linux linux-6l9t 4.4.75-1-default #1 SMP Fri Jul 7 11:28:32 UTC 2017 (0b7a836) x86_64 x86_64 x86_64 GNU/Linux

       

      Log details are below.

      # Compiling the vmnet and vmmon modules....

      # You are in /tmp/vmware/source...

      Compiling the vmnet module...

      vmnet-only/

      vmnet-only/smac_compat.h

      vmnet-only/vmware_pack_init.h

      vmnet-only/smac_compat.c

      vmnet-only/userif.c

      vmnet-only/netdev_has_dev_net.c

      vmnet-only/compat_autoconf.h

      vmnet-only/compat_skbuff.h

      vmnet-only/Makefile.kernel

      vmnet-only/compat_module.h

      vmnet-only/vm_basic_asm_x86.h

      vmnet-only/vm_basic_types.h

      vmnet-only/netdev_has_net.c

      vmnet-only/x86cpuid.h

      vmnet-only/vnetKernel.h

      vmnet-only/driver-config.h

      vmnet-only/smac.c

      vmnet-only/Makefile.normal

      vmnet-only/monitorAction_exported.h

      vmnet-only/vm_basic_asm_x86_64.h

      vmnet-only/COPYING

      vmnet-only/procfs.c

      vmnet-only/smac.h

      vmnet-only/compat_sock.h

      vmnet-only/vm_basic_defs.h

      vmnet-only/vmnetInt.h

      vmnet-only/vnet.h

      vmnet-only/geninclude.c

      vmnet-only/netif.c

      vmnet-only/vm_basic_asm_x86_common.h

      vmnet-only/community_source.h

      vmnet-only/bridge.c

      vmnet-only/vm_atomic.h

      vmnet-only/vnetFilterInt.h

      vmnet-only/nfhook_uses_skb.c

      vmnet-only/vm_basic_asm.h

      vmnet-only/compat_version.h

      vmnet-only/vmware_pack_begin.h

      vmnet-only/vm_device_version.h

      vmnet-only/net.h

      vmnet-only/vm_assert.h

      vmnet-only/hub.c

      vmnet-only/vnetFilter.h

      vmnet-only/vnetEvent.h

      vmnet-only/Makefile

      vmnet-only/vnetEvent.c

      vmnet-only/compat_netdevice.h

      vmnet-only/driver.c

      vmnet-only/vmware_pack_end.h

      vmnet-only/includeCheck.h

      vmnet-only/skblin.c

      vmnet-only/vnetUserListener.c

      vmnet-only/vnetInt.h

      vmnet-only/vm_oui.h

      Using kernel build system.

      make -C /lib/modules/4.4.75-1-default/build/include/.. SUBDIRS=$PWD SRCROOT=$PWD/. \

        MODULEBUILDDIR= modules

      make[1]: Entering directory '/usr/src/linux-4.4.75-1-obj/x86_64/default'

        CC [M]  /tmp/vmware/source/vmnet-only/driver.o

        CC [M]  /tmp/vmware/source/vmnet-only/hub.o

        CC [M]  /tmp/vmware/source/vmnet-only/userif.o

      /tmp/vmware/source/vmnet-only/userif.c: In function ‘UserifLockPage’:

      /tmp/vmware/source/vmnet-only/userif.c:125:28: warning: passing argument 1 of ‘get_user_pages’ makes integer from pointer without a cast [enabled by default]

                                  1, 1, 0, &page, NULL);

                                  ^

      In file included from /usr/src/linux-4.4.75-1/include/linux/highmem.h:7:0,

                       from /tmp/vmware/source/vmnet-only/userif.c:26:

      /usr/src/linux-4.4.75-1/include/linux/mm.h:1264:6: note: expected ‘long unsigned int’ but argument is of type ‘struct task_struct *’

      long get_user_pages(unsigned long start, unsigned long nr_pages,

            ^

      /tmp/vmware/source/vmnet-only/userif.c:125:28: warning: passing argument 2 of ‘get_user_pages’ makes integer from pointer without a cast [enabled by default]

                                  1, 1, 0, &page, NULL);

                                  ^

      In file included from /usr/src/linux-4.4.75-1/include/linux/highmem.h:7:0,

                       from /tmp/vmware/source/vmnet-only/userif.c:26:

      /usr/src/linux-4.4.75-1/include/linux/mm.h:1264:6: note: expected ‘long unsigned int’ but argument is of type ‘struct mm_struct *’

      long get_user_pages(unsigned long start, unsigned long nr_pages,

            ^

      /tmp/vmware/source/vmnet-only/userif.c:125:28: warning: passing argument 4 of ‘get_user_pages’ makes pointer from integer without a cast [enabled by default]

                                  1, 1, 0, &page, NULL);

                                  ^

      In file included from /usr/src/linux-4.4.75-1/include/linux/highmem.h:7:0,

                       from /tmp/vmware/source/vmnet-only/userif.c:26:

      /usr/src/linux-4.4.75-1/include/linux/mm.h:1264:6: note: expected ‘struct page **’ but argument is of type ‘int’

      long get_user_pages(unsigned long start, unsigned long nr_pages,

            ^

      /tmp/vmware/source/vmnet-only/userif.c:125:28: warning: passing argument 5 of ‘get_user_pages’ makes pointer from integer without a cast [enabled by default]

                                  1, 1, 0, &page, NULL);

                                  ^

      In file included from /usr/src/linux-4.4.75-1/include/linux/highmem.h:7:0,

                       from /tmp/vmware/source/vmnet-only/userif.c:26:

      /usr/src/linux-4.4.75-1/include/linux/mm.h:1264:6: note: expected ‘struct vm_area_struct **’ but argument is of type ‘int’

      long get_user_pages(unsigned long start, unsigned long nr_pages,

            ^

      /tmp/vmware/source/vmnet-only/userif.c:125:28: error: too many arguments to function ‘get_user_pages’

                                  1, 1, 0, &page, NULL);

                                  ^

      In file included from /usr/src/linux-4.4.75-1/include/linux/highmem.h:7:0,

                       from /tmp/vmware/source/vmnet-only/userif.c:26:

      /usr/src/linux-4.4.75-1/include/linux/mm.h:1264:6: note: declared here

      long get_user_pages(unsigned long start, unsigned long nr_pages,

            ^

      /usr/src/linux-4.4.75-1/scripts/Makefile.build:259: recipe for target '/tmp/vmware/source/vmnet-only/userif.o' failed

      make[4]: *** [/tmp/vmware/source/vmnet-only/userif.o] Error 1

      /usr/src/linux-4.4.75-1/Makefile:1428: recipe for target '_module_/tmp/vmware/source/vmnet-only' failed

      make[3]: *** [_module_/tmp/vmware/source/vmnet-only] Error 2

      Makefile:150: recipe for target 'sub-make' failed

      make[2]: *** [sub-make] Error 2

      Makefile:24: recipe for target '__sub-make' failed

      make[1]: *** [__sub-make] Error 2

      make[1]: Leaving directory '/usr/src/linux-4.4.75-1-obj/x86_64/default'

      Makefile:120: recipe for target 'vmnet.ko' failed

      make: *** [vmnet.ko] Error 2

      Finished compiling the vmnet module...

      ls: cannot access 'vmnet.o': No such file or directory

      Copying the vmnet module to /lib/modules/4.4.75-1-default/kernel/drivers/misc/...

      cp: cannot stat './vmnet.o': No such file or directory

      Compiling the vmmon module...

      vmmon-only/

      vmmon-only/Makefile.kernel

      vmmon-only/Makefile.normal

      vmmon-only/COPYING

      vmmon-only/include/

      vmmon-only/include/vmware_pack_init.h

      vmmon-only/include/cpuid_info.h

      vmmon-only/include/x86apic.h

      vmmon-only/include/uccostTable.h

      vmmon-only/include/x86vt-vmcs-fields.h

      vmmon-only/include/compat_spinlock.h

      vmmon-only/include/compat_autoconf.h

      vmmon-only/include/compat_module.h

      vmmon-only/include/vm_basic_asm_x86.h

      vmmon-only/include/vm_basic_types.h

      vmmon-only/include/overheadmem_types.h

      vmmon-only/include/vm_asm_x86_64.h

      vmmon-only/include/x86cpuid.h

      vmmon-only/include/ptsc.h

      vmmon-only/include/driver-config.h

      vmmon-only/include/usercalldefs.h

      vmmon-only/include/pcip_defs.h

      vmmon-only/include/vm_basic_math.h

      vmmon-only/include/compat_highmem.h

      vmmon-only/include/monitorAction_exported.h

      vmmon-only/include/vm_basic_asm_x86_64.h

      vmmon-only/include/compat_pci.h

      vmmon-only/include/cpu_defs.h

      vmmon-only/include/modulecall.h

      vmmon-only/include/x86vt.h

      vmmon-only/include/iocontrols.h

      vmmon-only/include/x86cpuid_asm.h

      vmmon-only/include/vm_basic_defs.h

      vmmon-only/include/rateconv.h

      vmmon-only/include/compat_pgtable.h

      vmmon-only/include/vmware.h

      vmmon-only/include/x86sel.h

      vmmon-only/include/x86types.h

      vmmon-only/include/circList.h

      vmmon-only/include/versioned_atomic.h

      vmmon-only/include/address_defs.h

      vmmon-only/include/memDefaults.h

      vmmon-only/include/vm_time.h

      vmmon-only/include/vm_basic_asm_x86_common.h

      vmmon-only/include/x86desc.h

      vmmon-only/include/pgtbl.h

      vmmon-only/include/vm_asm.h

      vmmon-only/include/pageLock_defs.h

      vmmon-only/include/mon_assert.h

      vmmon-only/include/community_source.h

      vmmon-only/include/vm_atomic.h

      vmmon-only/include/contextinfo.h

      vmmon-only/include/vmmem_shared.h

      vmmon-only/include/perfctr_generic.h

      vmmon-only/include/crossgdt.h

      vmmon-only/include/compat_interrupt.h

      vmmon-only/include/vm_basic_asm.h

      vmmon-only/include/vcpuset_types.h

      vmmon-only/include/compat_version.h

      vmmon-only/include/vmware_pack_begin.h

      vmmon-only/include/compat_kernel.h

      vmmon-only/include/compat_page.h

      vmmon-only/include/numa_defs.h

      vmmon-only/include/initblock.h

      vmmon-only/include/vm_assert.h

      vmmon-only/include/x86segdescrs.h

      vmmon-only/include/modulecallstructs.h

      vmmon-only/include/compat_cred.h

      vmmon-only/include/x86vendor.h

      vmmon-only/include/x86vtinstr.h

      vmmon-only/include/x86_basic_defs.h

      vmmon-only/include/vcpuid.h

      vmmon-only/include/basic_initblock.h

      vmmon-only/include/pagelist.h

      vmmon-only/include/vmware_pack_end.h

      vmmon-only/include/includeCheck.h

      vmmon-only/include/compat_sched.h

      vmmon-only/include/compat_ioport.h

      vmmon-only/include/pshare_ext.h

      vmmon-only/include/x86perfctr.h

      vmmon-only/include/compat_semaphore.h

      vmmon-only/include/vcpuset.h

      vmmon-only/include/x86msr.h

      vmmon-only/include/vm_asm_x86.h

      vmmon-only/include/hashFunc.h

      vmmon-only/include/x86svm.h

      vmmon-only/include/vmm_constants.h

      vmmon-only/autoconf/

      vmmon-only/autoconf/tsc_khz.c

      vmmon-only/autoconf/geninclude.c

      vmmon-only/autoconf/smpcall.c

      vmmon-only/README

      vmmon-only/Makefile

      vmmon-only/linux/

      vmmon-only/linux/hostif.c

      vmmon-only/linux/driver.h

      vmmon-only/linux/driverLog.h

      vmmon-only/linux/vmhost.h

      vmmon-only/linux/driverLog.c

      vmmon-only/linux/hostif_priv.h

      vmmon-only/linux/driver.c

      vmmon-only/linux/vmmonInt.h

      vmmon-only/vmcore/

      vmmon-only/vmcore/driver_vmcore.h

      vmmon-only/vmcore/moduleloop.c

      vmmon-only/common/

      vmmon-only/common/hostif.h

      vmmon-only/common/memtrack.h

      vmmon-only/common/apic.h

      vmmon-only/common/vmx86.h

      vmmon-only/common/vmx86.c

      vmmon-only/common/phystrack.h

      vmmon-only/common/memtrack.c

      vmmon-only/common/comport.c

      vmmon-only/common/hashFunc.c

      vmmon-only/common/phystrack.c

      vmmon-only/common/hostKernel.h

      vmmon-only/common/hostifGlobalLock.h

      vmmon-only/common/task.h

      vmmon-only/common/cpuid.h

      vmmon-only/common/cpuid.c

      vmmon-only/common/hostifMem.h

      vmmon-only/common/comport.h

      vmmon-only/common/apic.c

      vmmon-only/common/task.c

      Using kernel build system.

      make -C /lib/modules/4.4.75-1-default/build/include/.. SUBDIRS=$PWD SRCROOT=$PWD/. \

        MODULEBUILDDIR= modules

      make[1]: Entering directory '/usr/src/linux-4.4.75-1-obj/x86_64/default'

        CC [M]  /tmp/vmware/source/vmmon-only/linux/driver.o

      /tmp/vmware/source/vmmon-only/linux/driver.c:1291:1: warning: always_inline function might not be inlinable [-Wattributes]

      LinuxDriverSyncReadTSCs(uint64 *delta) // OUT: TSC max - TSC min

      ^

        CC [M]  /tmp/vmware/source/vmmon-only/linux/hostif.o

      /tmp/vmware/source/vmmon-only/linux/hostif.c: In function ‘HostIFGetUserPages’:

      /tmp/vmware/source/vmmon-only/linux/hostif.c:1174:28: warning: passing argument 1 of ‘get_user_pages’ makes integer from pointer without a cast [enabled by default]

                                  numPages, 0, 0, ppages, NULL);

                                  ^

      In file included from /tmp/vmware/source/vmmon-only/./include/compat_page.h:23:0,

                       from /tmp/vmware/source/vmmon-only/linux/hostif.c:32:

      /usr/src/linux-4.4.75-1/include/linux/mm.h:1264:6: note: expected ‘long unsigned int’ but argument is of type ‘struct task_struct *’

      long get_user_pages(unsigned long start, unsigned long nr_pages,

            ^

      /tmp/vmware/source/vmmon-only/linux/hostif.c:1174:28: warning: passing argument 2 of ‘get_user_pages’ makes integer from pointer without a cast [enabled by default]

                                  numPages, 0, 0, ppages, NULL);

                                  ^

      In file included from /tmp/vmware/source/vmmon-only/./include/compat_page.h:23:0,

                       from /tmp/vmware/source/vmmon-only/linux/hostif.c:32:

      /usr/src/linux-4.4.75-1/include/linux/mm.h:1264:6: note: expected ‘long unsigned int’ but argument is of type ‘struct mm_struct *’

      long get_user_pages(unsigned long start, unsigned long nr_pages,

            ^

      /tmp/vmware/source/vmmon-only/linux/hostif.c:1174:28: warning: passing argument 4 of ‘get_user_pages’ makes pointer from integer without a cast [enabled by default]

                                  numPages, 0, 0, ppages, NULL);

                                  ^

      In file included from /tmp/vmware/source/vmmon-only/./include/compat_page.h:23:0,

                       from /tmp/vmware/source/vmmon-only/linux/hostif.c:32:

      /usr/src/linux-4.4.75-1/include/linux/mm.h:1264:6: note: expected ‘struct page **’ but argument is of type ‘unsigned int’

      long get_user_pages(unsigned long start, unsigned long nr_pages,

            ^

      /tmp/vmware/source/vmmon-only/linux/hostif.c:1174:28: error: too many arguments to function ‘get_user_pages’

                                  numPages, 0, 0, ppages, NULL);

                                  ^

      In file included from /tmp/vmware/source/vmmon-only/./include/compat_page.h:23:0,

                       from /tmp/vmware/source/vmmon-only/linux/hostif.c:32:

      /usr/src/linux-4.4.75-1/include/linux/mm.h:1264:6: note: declared here

      long get_user_pages(unsigned long start, unsigned long nr_pages,

            ^

      /usr/src/linux-4.4.75-1/scripts/Makefile.build:259: recipe for target '/tmp/vmware/source/vmmon-only/linux/hostif.o' failed

      make[4]: *** [/tmp/vmware/source/vmmon-only/linux/hostif.o] Error 1

      /usr/src/linux-4.4.75-1/Makefile:1428: recipe for target '_module_/tmp/vmware/source/vmmon-only' failed

      make[3]: *** [_module_/tmp/vmware/source/vmmon-only] Error 2

      Makefile:150: recipe for target 'sub-make' failed

      make[2]: *** [sub-make] Error 2

      Makefile:24: recipe for target '__sub-make' failed

      make[1]: *** [__sub-make] Error 2

      make[1]: Leaving directory '/usr/src/linux-4.4.75-1-obj/x86_64/default'

      Makefile:120: recipe for target 'vmmon.ko' failed

      make: *** [vmmon.ko] Error 2

      Finished compiling the vmmon module...

      ls: cannot access 'vmmon.o': No such file or directory

      Copying the vmmon module to /lib/modules/4.4.75-1-default/kernel/drivers/misc/...

      cp: cannot stat 'vmmon.o': No such file or directory

      Loading new module dependencies...

      Restarting vmware...

      Stopping VMware services:

         VMware Authentication Daemon                                        done

         VM communication interface socket family                            done

         Virtual machine communication interface                             done

         Virtual machine monitor                                             done

         Blocking file system                                                done

      Starting VMware services:

         Virtual machine monitor                                            failed

         Virtual machine communication interface                             done

         VM communication interface socket family                            done

         Blocking file system                                                done

         Virtual ethernet                                                   failed

        • 1. Re: VMware Workstation 12.5.7 build-5813279.x86_64 does not compile on openSUSE-Leap-42.3-DVD-x86_64
          jpearso Novice

          I am adding a short resume of my problem of both the vmnet-only and vmmon-only modules erroring out when compiling on openSUSE-Leap-42.3 (x86_64) using VMware-Workstation-Full-12.5.7-5813279

           

          The current openSUSE-Leap-42.3 kernel version is 4.4.75-1

          uname -a

          Linux Home 4.4.75-1-default #1 SMP Fri Jul 7 11:28:32 UTC 2017 (0b7a836) x86_64 x86_64 x86_64 GNU/Linux

           

          The versions of Installed kernel rpms are :

          kernel-default-4.4.75-1.1.x86_64

          kernel-devel-4.4.75-1.1.noarch

           

          I installed Virtual Box v5.1.22 and it works fine

           

          ######################################################

          # Error details when compiling the vmnet module

          ######################################################

          In file included from /usr/src/linux-4.4.75-1/include/linux/highmem.h:7:0,

                           from /tmp/vmware/source/vmnet-only/userif.c:26:

          /usr/src/linux-4.4.75-1/include/linux/mm.h:1264:6: note: expected ‘struct vm_area_struct **’ but argument is of type ‘int’

          long get_user_pages(unsigned long start, unsigned long nr_pages,

                ^

          /tmp/vmware/source/vmnet-only/userif.c:125:28: error: too many arguments to function ‘get_user_pages’

                                      1, 1, 0, &page, NULL);

                                      ^

          In file included from /usr/src/linux-4.4.75-1/include/linux/highmem.h:7:0,

                           from /tmp/vmware/source/vmnet-only/userif.c:26:

          /usr/src/linux-4.4.75-1/include/linux/mm.h:1264:6: note: declared here

          long get_user_pages(unsigned long start, unsigned long nr_pages,

          /usr/src/linux-4.4.75-1/scripts/Makefile.build:259: recipe for target '/tmp/vmware/source/vmnet-only/userif.o' failed

          make[4]: *** [/tmp/vmware/source/vmnet-only/userif.o] Error 1

          /usr/src/linux-4.4.75-1/Makefile:1428: recipe for target '_module_/tmp/vmware/source/vmnet-only' failed

          make[3]: *** [_module_/tmp/vmware/source/vmnet-only] Error 2

          Makefile:150: recipe for target 'sub-make' failed

          make[2]: *** [sub-make] Error 2

          Makefile:24: recipe for target '__sub-make' failed

          make[1]: *** [__sub-make] Error 2

          make[1]: Leaving directory '/usr/src/linux-4.4.75-1-obj/x86_64/default'

          Makefile:120: recipe for target 'vmnet.ko' failed

          make: *** [vmnet.ko] Error 2

          Finished ...

          ls: cannot access 'vmnet.o': No such file or directory

          Copying the vmnet module to /lib/modules/4.4.75-1-default/kernel/drivers/misc/...

          cp: cannot stat './vmnet.o': No such file or directory

           

          ######################################################

          # Error compiling the vmmon module

          ######################################################

          file included from /tmp/vmware/source/vmmon-only/./include/compat_page.h:23:0,

                           from /tmp/vmware/source/vmmon-only/linux/hostif.c:32:

          /usr/src/linux-4.4.75-1/include/linux/mm.h:1264:6: note: expected ‘struct page **’ but argument is of type ‘unsigned int’

          long get_user_pages(unsigned long start, unsigned long nr_pages,

                ^

          /tmp/vmware/source/vmmon-only/linux/hostif.c:1174:28: error: too many arguments to function ‘get_user_pages’

                                      numPages, 0, 0, ppages, NULL);

                                      ^

          In file included from /tmp/vmware/source/vmmon-only/./include/compat_page.h:23:0,

                           from /tmp/vmware/source/vmmon-only/linux/hostif.c:32:

          /usr/src/linux-4.4.75-1/include/linux/mm.h:1264:6: note: declared here

          long get_user_pages(unsigned long start, unsigned long nr_pages,

                ^

          /usr/src/linux-4.4.75-1/scripts/Makefile.build:259: recipe for target '/tmp/vmware/source/vmmon-only/linux/hostif.o' failed

          make[4]: *** [/tmp/vmware/source/vmmon-only/linux/hostif.o] Error 1

          /usr/src/linux-4.4.75-1/Makefile:1428: recipe for target '_module_/tmp/vmware/source/vmmon-only' failed

          make[3]: *** [_module_/tmp/vmware/source/vmmon-only] Error 2

          Makefile:150: recipe for target 'sub-make' failed

          make[2]: *** [sub-make] Error 2

          Makefile:24: recipe for target '__sub-make' failed

          make[1]: *** [__sub-make] Error 2

          make[1]: Leaving directory '/usr/src/linux-4.4.75-1-obj/x86_64/default'

          Makefile:120: recipe for target 'vmmon.ko' failed

          make: *** [vmmon.ko] Error 2

           

          Any patchs or suggestions are more than welcome

          TIA

          • 2. Re: VMware Workstation 12.5.7 build-5813279.x86_64 does not compile on openSUSE-Leap-42.3-DVD-x86_64
            AishR Hot Shot
            Knowledge ChampionVMware Employees

            Open Suse leap 42 is not supported with vmware Workstation 12.5.7.

            • 3. Re: VMware Workstation 12.5.7 build-5813279.x86_64 does not compile on openSUSE-Leap-42.3-DVD-x86_64
              jpearso Novice

              Hello

              Thank you for the come back.

               

              >Open Suse leap 42 is not supported with vmware Workstation 12.5.7.

              You are indeed correct that openSUSE LEAP 42.3 (which will be released in 6 days*) and which is currently on kernel 4.4.76-1-default** is not supported on the lastest build of VMware Workstation (which was 12.5.7 build-5813279.x86_64 as of 10 days ago).

               

              [*] URL: openSUSE News

               

              cat /etc/os-release

              NAME="openSUSE Leap"

              VERSION="42.3"

              ID=opensuse

              ID_LIKE="suse"

              VERSION_ID="42.3"

              PRETTY_NAME="openSUSE Leap 42.3"

              ANSI_COLOR="0;32"

              CPE_NAME="cpe:/o:opensuse:leap:42.3"

              BUG_REPORT_URL="https://bugs.opensuse.org"

              HOME_URL="https://www.opensuse.org/"

               

              [**]

              uname -a

              Linux hero 4.4.76-1-default #1 SMP Fri Jul 14 08:48:13 UTC 2017 (9a2885c) x86_64 x86_64 x86_64 GNU/Linux

               

              This is exactly the reason ***why*** I created this thread   - I am an early adopter and I use vmware Workstation on linux.

               

              Please note that vmware Workstation has been supported on openSUSE LEAP 42.2 for  ages. I would have raised an issue here for all and any problems if it wasn't.

               

              According to my records, the last vmware Workstation update for linux was in ~Dec 2015. At that least that was the last time I paid to update my vmware Workstation licence.

               

              virtualbox-5.1.22-20.2.x86_64 works on openSUSE LEAP 42.3, the problem is that my linux setup is adapted to vmware Workstation and I am lazy. At least for now.

               

              The bottom line is that :

              1)  I would like to run vmware Workstation on openSUSE Leap 42.3 but both vmnet-only and vmmon-only modules error out when compiling

              2)  no one in my house uses Windows except under vmware because I have the choice.

               

              The second point isn't going to change - I am keeping my fingers crossed however, and hoping that the first point will change soon : choice is good.

               

              TIA

              Regards

              James

              • 5. Re: VMware Workstation 12.5.7 build-5813279.x86_64 does not compile on openSUSE-Leap-42.3-DVD-x86_64
                jpearso Novice

                Hello

                 

                Thank you for the comeback.

                 

                I will check out what you suggested and report back.

                In the meantime I just installed VMware-Workstation-Full-e.x.p-6056110.x86_64.bundle in order to see what would happen...

                 

                When I try to compile the vmnet module on the e.x.p version - it fails

                The vmmon module complies OK

                 

                The error when I compile the vmnet module follows...

                                                              ^

                /tmp/vmware/source/vmnet-only/netif.c:468:4: note: in expansion of macro ‘compat_netif_trans_update’

                    compat_netif_trans_update(dev);

                    ^

                /usr/src/linux-4.4.76-1/scripts/Makefile.build:259: recipe for target '/tmp/vmware/source/vmnet-only/netif.o' failed

                make[4]: *** [/tmp/vmware/source/vmnet-only/netif.o] Error 1

                /usr/src/linux-4.4.76-1/Makefile:1428: recipe for target '_module_/tmp/vmware/source/vmnet-only' failed

                make[3]: *** [_module_/tmp/vmware/source/vmnet-only] Error 2

                Makefile:150: recipe for target 'sub-make' failed

                make[2]: *** [sub-make] Error 2

                Makefile:24: recipe for target '__sub-make' failed

                make[1]: *** [__sub-make] Error 2

                make[1]: Leaving directory '/usr/src/linux-4.4.76-1-obj/x86_64/default'

                Makefile:120: recipe for target 'vmnet.ko' failed

                make: *** [vmnet.ko] Error 2

                Finished compiling the vmnet module...

                ls: cannot access 'vmnet.o': No such file or directory

                Copying the vmnet module to /lib/modules/4.4.76-1-default/kernel/drivers/misc/...

                cp: cannot stat './vmnet.o': No such file or directory

                 

                 

                Below is what I get when I stop / start the VMware services...

                 

                Restarting vmware...

                Stopping VMware services:

                   VMware Authentication Daemon                                        done

                   VM communication interface socket family                            done

                   Virtual machine communication interface                             done

                   Virtual machine monitor                                             done

                   Blocking file system                                                done

                Starting VMware services:

                   Virtual machine monitor                                             done

                   Virtual machine communication interface                             done

                   VM communication interface socket family                            done

                   Blocking file system                                                done

                   Virtual ethernet                                                   failed

                   VMware Authentication Daemon                                        done

                 

                All comments welcome !

                TIA

                Regards

                James

                • 6. Re: VMware Workstation 12.5.7 build-5813279.x86_64 does not compile on openSUSE-Leap-42.3-DVD-x86_64
                  jpearso Novice

                  Hello

                  I managed to get VMware-Workstation up and running on openSUSE 42.3 by installing the E.X.P. version : VMware-Workstation-Full-e.x.p-6056110.x86_64.bundle

                   

                  I still had to manually change the netif.c file (which is in the vmnet.tar) so that the vmnet module would compile.

                  The details can be found in the thread "Failed to build vmnet module on Linux 4.4.76-1-default openSUSE Leap 42.3 which is on Workstation Pro Tech Preview forum

                   

                  Hope this helps someone.

                  James

                  • 7. Re: VMware Workstation 12.5.7 build-5813279.x86_64 does not compile on openSUSE-Leap-42.3-DVD-x86_64
                    SteveBacon Lurker

                    SOLVED...

                     

                    In another thread this patch was posted

                     

                     

                    7. Re: VMware WS 12.5.6  fails to compile on openSUSE Leap 42.3 with kernel 4.4.68-2-default

                    hendrikw84Novice

                    I solved this by manually editing the sources of the kernel modules.

                     

                    How (for vmware player 12.5.7):

                     

                    >>> go to the modules sources and unpack:

                    cd /usr/lib/vmware/modules/source/

                    tar -xf vmnet.tar

                    tar -xf vmmon.tar

                     

                    cd vmmon-only/linux/

                    vi hostif.c

                     

                     

                    >>> replace:

                    #if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 9, 0)

                       retval = get_user_pages((unsigned long)uvAddr, numPages, 0, ppages, NULL);

                    #elif LINUX_VERSION_CODE >= KERNEL_VERSION(4, 6, 0)

                       retval = get_user_pages((unsigned long)uvAddr, numPages, 0, 0, ppages, NULL);

                    #else

                       retval = get_user_pages(current, current->mm, (unsigned long)uvAddr,

                                               numPages, 0, 0, ppages, NULL);

                    #endif

                     

                    >>> with:

                    #if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 9, 0)

                       retval = get_user_pages((unsigned long)uvAddr, numPages, 0, ppages, NULL);

                    #elif LINUX_VERSION_CODE >= KERNEL_VERSION(4, 6, 0)

                       retval = get_user_pages((unsigned long)uvAddr, numPages, 0, 0, ppages, NULL);

                    #else

                       retval = retval = get_user_pages((unsigned long)uvAddr, numPages, 0, ppages, NULL);

                    #endif

                     

                    cd ../..

                    cd vmnet-only/

                    vi userif.c

                     

                     

                    >>>  replace:

                    #if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 9, 0)

                       retval = get_user_pages(addr, 1, FOLL_WRITE, &page, NULL);

                    #elif LINUX_VERSION_CODE >= KERNEL_VERSION(4, 6, 0)

                       retval = get_user_pages(addr, 1, 1, 0, &page, NULL);

                    #else

                       retval = get_user_pages(current, current->mm, addr,

                                               1, 1, 0, &page, NULL);

                    #endif

                     

                     

                    >>> with :

                    #if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 9, 0)

                       retval = get_user_pages(addr, 1, FOLL_WRITE, &page, NULL);

                    #elif LINUX_VERSION_CODE >= KERNEL_VERSION(4, 6, 0)

                       retval = get_user_pages(addr, 1, 1, 0, &page, NULL);

                    #else

                       retval = get_user_pages(addr, 1, 0, &page, NULL);

                    #endif

                     

                     

                    vi netif.c

                    >>> change:

                    compat_netif_trans_update(dev);

                     

                    >>> to:

                    netif_trans_update(dev);

                     

                    >>> put the changed files back into the tar balls:

                    cd ..

                    tar -cf vmnet.tar vmnet-only/

                    tar -cf vmmon.tar vmmon-only/

                     

                    >>> compile everything:

                    vmware-modconfig --console --install-all

                     

                     

                    -----------------------------------------------------------

                    As you can see, the interface of get_user_pages() changed from Leap 42.2 to 42.3 even though it is the same kernel version (4.4).

                    Backports ...

                     

                    Hendrik

                     

                     

                    9. Re: VMware WS 12.5.6  fails to compile on openSUSE Leap 42.3 with kernel 4.4.68-2-default

                    Stephen BaconLurker

                    Thanks Hendrik,

                      I applied this patch and all is compiling properly. Some caveats to previous posts...

                    I installed default kernel source and build environment rather vanilla version as

                    I run the default kernel  4.4.76-1-default in the production version of Leap 42.3.

                     

                    Thanks again,

                    stevedb

                    • 8. Re: VMware Workstation 12.5.7 build-5813279.x86_64 does not compile on openSUSE-Leap-42.3-DVD-x86_64
                      JurgenD Novice

                      We do use VMware products since 2 decades. And we start to notice Your organization starts to move away to support properly Your community.
                      Recently VMware workstation 14 does not support CPU that worked previously with VMware workstation. You start to create close source modules
                      that hook into the kernel. What are you doing. You kill your product for our community and more people will move to other solutions.