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
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
Open Suse leap 42 is not supported with vmware Workstation 12.5.7.
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
Have a look at this Re: Kernel 4.6 - VmPlayer 12 - vmnet & vmmon compilation failure which appeared on "More Like This" panel on the right hand side.
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
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
SOLVED...
In another thread this patch was posted
hendrikw84 Jul 30, 2017 12:14 PM (in response to mfelker)
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
SteveBacon Aug 5, 2017 12:44 PM (in response to hendrikw84)
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
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.