Error Installing Vmware Workstation On Ubuntu
Solution 1
To fix this we will need to apply this patch to filter.c in VMware Player module sources.
Step No 1
create a file in tmp directory name filter.c.diff and copy paste the following code init.
nano /tmp/filter.c.diff
205a206
> #if LINUX_VERSION_CODE < KERNEL_VERSION(3, 13, 0)
206a208,210
> #else
> VNetFilterHookFn(const struct nf_hook_ops *ops, // IN:
> #endif
255c259,263
< transmit = (hooknum == VMW_NF_INET_POST_ROUTING);
---
> #if LINUX_VERSION_CODE < KERNEL_VERSION(3, 13, 0)
> transmit = (hooknum == VMW_NF_INET_POST_ROUTING);
> #else
> transmit = (ops->hooknum == VMW_NF_INET_POST_ROUTING);
> #endif
Step No 2
sudo -E -s
cd /usr/lib/vmware/modules/source/
cp vmnet.tar vmnet.tar.original
tar xvf vmnet.tar vmnet-only/filter.c
patch vmnet-only/filter.c < /tmp/filter.c.diff
tar -uvf vmnet.tar vmnet-only/filter.c
rm -rf vmnet-only/
After that just run vmware and it will work fine.
Starting VMware services:
Virtual machine monitor done
Virtual machine communication interface done
VM communication interface socket family done
Blocking file system done
Virtual ethernet done
VMware Authentication Daemon done
Shared Memory Available done
Note : You also need to chown the .vmware directory otherwise your vmware changes will not save
example
sudo chown -R one:one .vmware
Where one is my username and one is my group. sudo chown -R $USER:$USER .vmware
Solution 2
To fix the issue on Ubuntu 14.10 kernel 3.17.2
Step No 1
curl http://pastie.org/pastes/9636106/download -o /tmp/vmware-3.17.patch
Step No 2
Rebuilding modules, Extract module sources:
cd /usr/lib/vmware/modules/source
for i in vmci vmmon vmnet vsock; do tar -xf $i.tar; done
Step No 3
Apply the patch:
patch -p1 -i /tmp/vmware-3.17.patch
Step No 4
Recreate the archives:
for i in *-only; do tar -cf ${i/-only}.tar $i; done
Step No 5
Remove leftovers:
rm -r *-only
Step No 6
Rebuild modules:
vmware-modconfig --console --install-all
Solution 3
To fix the issue on Ubuntu 14.x kernel 3.19.x, run the following steps as Root (in a terminal):
log in as root (e.g. sudo -s)
Enter your Root password.
Enter these commands:
curl http://pastie.org/pastes/9934018/download -o /tmp/vmnet-3.19.patch cd /usr/lib/vmware/modules/source tar -xf vmnet.tar patch -p0 -i /tmp/vmnet-3.19.patch mv vmnet.tar vmnet.tar.SAVED tar -cf vmnet.tar vmnet-only rm -r vmnet-only vmware-modconfig --console --install-all
Solution 4
I just had this same problem. You can also just create a script containing this:
#!/bin/bash
cat << EOF > /tmp/filter.c.patch
--- vmnet-only/filter.c 2013-10-18 15:11:55.000000000 -0400
+++ vmnet-only/filter.c 2013-12-21 20:15:15.000000000 -0500
@@ -27,6 +27,7 @@
#include "compat_module.h"
#include <linux/mutex.h>
#include <linux/netdevice.h>
+#include <linux/version.h>
#if COMPAT_LINUX_VERSION_CHECK_LT(3, 2, 0)
# include <linux/module.h>
#else
@@ -203,7 +204,11 @@
#endif
static unsigned int
+#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 13, 0)
VNetFilterHookFn(unsigned int hooknum, // IN:
+#else
+VNetFilterHookFn(const struct nf_hook_ops *ops, // IN:
+#endif
#ifdef VMW_NFHOOK_USES_SKB
struct sk_buff *skb, // IN:
#else
@@ -252,7 +257,12 @@
/* When the host transmits, hooknum is VMW_NF_INET_POST_ROUTING. */
/* When the host receives, hooknum is VMW_NF_INET_LOCAL_IN. */
- transmit = (hooknum == VMW_NF_INET_POST_ROUTING);
+
+#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 13, 0)
+ transmit = (hooknum == VMW_NF_INET_POST_ROUTING);
+#else
+ transmit = (ops->hooknum == VMW_NF_INET_POST_ROUTING);
+#endif
packetHeader = compat_skb_network_header(skb);
ip = (struct iphdr*)packetHeader;
EOF
cd /usr/lib/vmware/modules/source
# untar the vmnet modules
tar -xvf vmnet.tar
#run a the patch you should have just saved earlier
patch vmnet-only/filter.c < /tmp/filter.c.patch
# re-tar the modules
tar -uvf vmnet.tar vmnet-only
#delete the previous working directory
rm -rf vmnet-only
Just make sure you run it as root. Then start VMWARE again and it should compile and run again.
Thanks to http://fazlearefin.blogspot.ca/2014/03/vmware-workstation-10-not-working-on.html for creating this script.
Solution 5
This was also an issue in the kernel module source code delivered with VMware Player 6.0.1 when running on Linux 3.3.13.
VMware has fixed the issue on april 17th in VMware Player 6.0.2 (https://www.vmware.com/support/player60/doc/player-602-release-notes.html) and VMware Workstation 10.02 (https://www.vmware.com/support/ws10/doc/workstation-1002-release-notes.html).
Upgrading to the above releases will add support for Ubuntu 14.04 to VMware.
Mikkel
Comments
-
Qasim over 1 year
I am trying to install vmware workstation 10.1 on Ubuntu 14.04 and I got following errors.
How do i fix it ?
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
-
Trevor Rudolph about 9 yearsAMAZING ANSWER WORKED PERFECTLY IN 3.18.0
-
Vasu Dev Garg over 8 yearsbut it doesn't work on my 32 bit ubuntu 14.04 LTS
-
ubuntico about 8 yearsWorks great on Ubuntu 15.04
-
ubuntico about 8 yearswill not work on ubuntu 15.04
-
Qasim about 8 years@ubuntico this is very old, check wiki on archlinux for vmware workstation. I hope it will help you
-
Mahdi Rashidi almost 8 yearstar: vmnet-only/filter.c: Not found in archive tar: Exiting with failure status due to previous errors
-
iisisrael almost 8 yearsHad the same issue on Ubuntu 16.04, and tried to apply the patch, but that failed. As it turns out, the latest VM Workstation Pro (version 12.1.1) already has the changes from the patch implemented in
userif.c
, anddriver.c
doesn't have anything matching the patched code. I then downloaded the latest installer and ran it, which just ended with a message that everything was already up to date. That did, however, stop the services, and I was then able to start it up and have the modules compile. -
Katz over 6 yearsfilter.c doesn't exist for me
tar: vmnet-only/filter.c: Not found in archive tar: Exiting with failure status due to previous errors
-
John D about 6 yearspastie.org/pastes/9636106/download is down @Qasim