I am running linux kernel 4.6 w/ gcc 6.1.1
Is there a way to get workstation 12.1.1. installed on my system with this kernel and gcc version? Can anyone help me with this?
The bundle installs without issue but if I try to run it says cannot find compatible gcc looking for 5.3.1.
Really did not want to go back to 5.3.1 was wondering if anyone knew how to get it working with 6.1
Thanks,
What host are you running??
I have tried that - but it fails
vmnet-only # make
Using kernel build system.
make -C /lib/modules/4.6.0-040600-generic/build/include/.. SUBDIRS=$PWD SRCROOT=$PWD/. \
MODULEBUILDDIR= modules
make[1]: Entering directory `/usr/src/linux-headers-4.6.0-040600-generic'
CC [M] /usr/lib/vmware/modules/source/vmnet-only/userif.o
In file included from ./arch/x86/include/asm/processor.h:15:0,
from ./arch/x86/include/asm/cpufeature.h:4,
from ./arch/x86/include/asm/thread_info.h:52,
from include/linux/thread_info.h:54,
from ./arch/x86/include/asm/preempt.h:6,
from include/linux/preempt.h:59,
from include/linux/spinlock.h:50,
from include/linux/wait.h:8,
from include/linux/fs.h:5,
from include/linux/highmem.h:4,
from /usr/lib/vmware/modules/source/vmnet-only/userif.c:26:
/usr/lib/vmware/modules/source/vmnet-only/userif.c: In function ‘UserifLockPage’:
./arch/x86/include/asm/current.h:17:17: warning: passing argument 1 of ‘get_user_pages’ makes integer from pointer without a cast [-Wint-conversion]
#define current get_current()
^
/usr/lib/vmware/modules/source/vmnet-only/userif.c:116:28: note: in expansion of macro ‘current’
retval = get_user_pages(current, current->mm, addr,
^~~~~~~
In file included from include/linux/highmem.h:7:0,
from /usr/lib/vmware/modules/source/vmnet-only/userif.c:26:
include/linux/mm.h:1266: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,
^~~~~~~~~~~~~~
In file included from ./arch/x86/include/asm/processor.h:15:0,
from ./arch/x86/include/asm/cpufeature.h:4,
from ./arch/x86/include/asm/thread_info.h:52,
from include/linux/thread_info.h:54,
from ./arch/x86/include/asm/preempt.h:6,
from include/linux/preempt.h:59,
from include/linux/spinlock.h:50,
from include/linux/wait.h:8,
from include/linux/fs.h:5,
from include/linux/highmem.h:4,
from /usr/lib/vmware/modules/source/vmnet-only/userif.c:26:
./arch/x86/include/asm/current.h:17:17: warning: passing argument 2 of ‘get_user_pages’ makes integer from pointer without a cast [-Wint-conversion]
#define current get_current()
^
/usr/lib/vmware/modules/source/vmnet-only/userif.c:116:37: note: in expansion of macro ‘current’
retval = get_user_pages(current, current->mm, addr,
^~~~~~~
In file included from include/linux/highmem.h:7:0,
from /usr/lib/vmware/modules/source/vmnet-only/userif.c:26:
include/linux/mm.h:1266: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,
^~~~~~~~~~~~~~
/usr/lib/vmware/modules/source/vmnet-only/userif.c:117:10: warning: passing argument 5 of ‘get_user_pages’ makes pointer from integer without a cast [-Wint-conversion]
1, 1, 0, &page, NULL);
^
In file included from include/linux/highmem.h:7:0,
from /usr/lib/vmware/modules/source/vmnet-only/userif.c:26:
include/linux/mm.h:1266:6: note: expected ‘struct page **’ but argument is of type ‘int’
long get_user_pages(unsigned long start, unsigned long nr_pages,
^~~~~~~~~~~~~~
/usr/lib/vmware/modules/source/vmnet-only/userif.c:116:13: error: too many arguments to function ‘get_user_pages’
retval = get_user_pages(current, current->mm, addr,
^~~~~~~~~~~~~~
In file included from include/linux/highmem.h:7:0,
from /usr/lib/vmware/modules/source/vmnet-only/userif.c:26:
include/linux/mm.h:1266:6: note: declared here
long get_user_pages(unsigned long start, unsigned long nr_pages,
^~~~~~~~~~~~~~
make[2]: *** [/usr/lib/vmware/modules/source/vmnet-only/userif.o] Error 1
make[1]: *** [_module_/usr/lib/vmware/modules/source/vmnet-only] Error 2
make[1]: Leaving directory `/usr/src/linux-headers-4.6.0-040600-generic'
make: *** [vmnet.ko] Error 2
mint 17.3
Then you have two issues.
1. Vmware does not find your gcc
2. You need to change two lines in the code.
So first do this:
1) vmmon.tar
- untar
- change ./vmmon-only/linux/hostif.c
- replace all:
"get_user_pages" to "get_user_pages_remote"
- tar and replace original
2) vmnet.tar
- untar
- change ./vmnet-only/userif.c
- replace all:
"get_user_pages" to "get_user_pages_remote"
- tar and replace original
And after do my first proposal
Hi,
It do not solve the problem, I'm beginning to hate wmware workstation, I use Linux Mint 17.3, kernel 4.5.2, if I upgrade to kernel 4.5.5 or 4.6, it does not works more. Also there are other problems, freezing is a issue. I will go back to VirtualBox. My computer is a Dell Vostro 3550.
Thanks.
toninhonunes
Thanks gruna -
Anything else I can do to get monitor and networking to run. They are both in the failed state when I restart vmware
[sudo] password for sco:
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
VMware Authentication Daemon done
Assume this is still a gcc issue
When I run vmware-modconfig --console --install-all
I am getting:
Failed to get gcc information.
sudo cp vmmon.o /lib/modules/4.6.0-040600-generic/kernel/drivers/misc/vmmon.ko
sudo cp vmnet.o /lib/modules/4.6.0-040600-generic/kernel/drivers/misc/vmnet.ko
depmod -a
/etc/init.d/vmware restart
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
VMware Authentication Daemon done
Any help would be greatly appreciated
Is there any more information I can gather to resolve this?
Stopping VMware services:
VMware Authentication Daemon done
VM communication interface socket family done
Virtual machine communication interface done
Virtual machine monitor 1` 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
VMware Authentication Daemon done
Does not work on vmmon, and this is the error that I am now getting:
//
alphacentari vmmon-only # make
Using kernel build system.
make -C /lib/modules/4.6.3-040603-lowlatency/build/include/.. SUBDIRS=$PWD SRCROOT=$PWD/. \
MODULEBUILDDIR= modules
make[1]: Entering directory `/usr/src/linux-headers-4.6.3-040603-lowlatency'
CC [M] /usr/lib/vmware/modules/source/vmmon-only/linux/driver.o
/usr/lib/vmware/modules/source/vmmon-only/linux/driver.c: In function ‘cleanup_module’:
/usr/lib/vmware/modules/source/vmmon-only/linux/driver.c:390:8: error: void value not ignored as it ought to be
if (misc_deregister(&linuxState.misc)) {
^~~~~~~~~~~~~~~
At top level:
/usr/lib/vmware/modules/source/vmmon-only/linux/driver.c:1285:1: warning: always_inline function might not be inlinable [-Wattributes]
LinuxDriverSyncReadTSCs(uint64 *delta) // OUT: TSC max - TSC min
^~~~~~~~~~~~~~~~~~~~~~~
make[2]: *** [/usr/lib/vmware/modules/source/vmmon-only/linux/driver.o] Error 1
make[1]: *** [_module_/usr/lib/vmware/modules/source/vmmon-only] Error 2
make[1]: Leaving directory `/usr/src/linux-headers-4.6.3-040603-lowlatency'
make: *** [vmmon.ko] Error 2
//
So what is the purposed fix? I got the vmnet to work
via doing make
The kernel modules have to be compiled with the same version of gcc taht compiled the kernel. Either compile the vmware modules with that gcc, or recompile your kernel with the gcc you want to use.
For the record, I have a Mint 17.3 VM that I created about 3 months ago, using a default iso that I downloaded from the Mint site. It is presently fully patched and updated. It has gcc 4.8.4 and kernel 3.19.0-32-generic. So, while I don't really keep up with the goings-on of Mint, I am wondering how you got to kernel 4.6 and gcc 6-something (which I was not even aware existed).
As for your other issues compiling, I recently posted a patch to make Workstation 11 function with kernel 4.4. The post is on this board someplace in the last couple of weeks. The mods were all to kernel drivers, and it is possible that 4.4 and 4.6 are similar enough that this patch will work. No guarantees, but you might want to look at it.
I got vmmon working, but vmnet is failing to create /dev/vmnet0. why can't vmware keep up with the latest kernels and gcc's.
I had the same issue with the kernel update to 4.6 in Fedora 24. Doing as suggested in post #5 got VMWare Player 7.1.4 working again for me on Fedora 24. I do not see why it wouldn't work with
Workstation 12.1.1, too. I used to use VMWare Player 12.1.1 but went back to 7.1.4 because I needed Unity Mode to work for my purposes. Workstation 12 also removed the Unity Mode functionality in Linux, last I checked.
Of course, I also do have in my vmplayer file the following line:
export VMWARE_USE_SHIPPED_LIBS=force
This forces VMWare Player to use the shipped libraries rather than the native ones. VMWare Player wouldn't even launch without this modification in the file, which modification usually also works for Workstation. I had to do the same thing in Ubuntu 16.04 so it should theoretically work in Mint, which is based on Ubuntu. After modifying the files mentioned in post #5 I ran the following command in a terminal:
sudo vmware-modconfig --console --install-all
After that everything started working again.
Fedora 24 uses the following kernel and gcc:
kernel 4.6.3-300
gcc 6.1.1-3
@gruna That worked for me! Registered specifically to say thanks gruna!
I had to remove VMWare Workstation and then reinstall, and then manually compile VMWare Modules vmmon and vmnet to get it to work on the following system:
There is a simpler way without copying. Just run the following from the command line -
LD_PRELOAD=/usr/lib/vmware/lib/libglibmm-2.4.so.1/libglibmm-2.4.so.1 /usr/bin/vmware
Or, edit /usr/bin/vmware and put in the following line somewhere near the top (close to the existing export statements)-
export LD_PRELOAD=/usr/lib/vmware/lib/libglibmm-2.4.so.1/libglibmm-2.4.so.1
Thanks !!
Kaleigh@Redgage