0

I have upgraded to Ubuntu 17.10 (from 17.04). Everything seems to work, however, VMware Workstation 12 does not startup anymore. No messages generated. Please help.

Chai T. Rex
  • 5,193
user86019
  • 1
  • 1
  • 2

3 Answers3

4

You need to upgrade to VMWare Workstation 14. Workstation 12 will not run with the kernel (4.13) in Ubuntu 17.10 unless you patch it. Patch available here: https://github.com/mkubecek/vmware-host-modules/commit/b50848c985f1

Run the following commands in Terminal to Patch (there are two ways to do this):

Patch Procedure 1:

Gain root user access:

sudo su
tar xvf vmmon.tar
tar xvf vmnet.tar
wget -O ./vmmon-only/linux/hostif.c https://raw.githubusercontent.com/mkubecek/vmware-host-modules/b50848c985f1a6c0a341187346d77f0119d0a835/vmmon-only/linux/hostif.c
vim vmnet-only/bridge.c
cd vmmon-only/
make
cd ../vmnet-only/
make
cd ..
mkdir /lib/modules/4.13.0-16-generic/misc
cp *.o /lib/modules/4.13.0-16-generic/misc
insmod /lib/modules/4.13.0-16-generic/misc/vmmon.o
insmod /lib/modules/4.13.0-16-generic/misc/vmnet.o
rm /usr/lib/vmware/lib/libz.so.1/libz.so.1
ln -s /lib/x86_64-linux-gnu/libz.so.1 /usr/lib/vmware/lib/libz.so.1/libz.so.1
vmware-networks --start
exit

Run VMWare as a normal user:

/usr/lib/vmware/bin/vmware

OR

Patch Procedure 2:

Get into your home directory, or somewhere you can store files temporarily:

cd ~ [YOUR DIRECTORY]

Copy the vmmon source tar ball to your temporary location:

cp /usr/lib/vmware/modules/source/vmmon.tar

Extract the tar ball:

tar xf vmmon.tar

Download the modified file and overwrite the one from the tar ball:

wget -O ./vmmon-only/linux/hostif.c https://raw.githubusercontent.com/mkubecek/vmware-host-modules/b50848c985f1a6c0a341187346d77f0119d0a835/vmmon-only/linux/hostif.c

Wrap up the newly modified files into a tar ball replacing the original one:

sudo tar cf /usr/lib/vmware/modules/source/vmmon.tar vmmon-only

Rebuild the VMware kernel modules:

sudo vmware-modconfig --console --install-all

Reboot your system:

sudo reboot

Sources to patch:

https://communities.vmware.com/thread/571370?start=0&tstart=0

AND

Ubuntu 17.10 Upgrade Broke VMWare Workstation 12.5

EVEN BETTER, I recommend upgrading to Workstation 14, which will remove Workstation 12.

Run the following commands in Terminal to install VMware Workstation Player 14:

mkdir ~/vmware
cd ~/vmware
wget -c https://download3.vmware.com/software/player/file/VMware-Player-14.1.1-7528167.x86_64.bundle

OR

Download it here:

https://my.vmware.com/en/web/vmware/free#desktop_end_user_computing/vmware_workstation_player/14_0

Give the package permissions:

sudo chmod u+x VMware-Player-14.1.1-7528167.x86_64.bundle

Finally, install:

sudo ./VMware-Player-14.1.1-7528167.x86_64.bundle

As soon as the installer starts, please follow on screen instructions to complete the installation.

Select I accept the terms in the license agreement and then Click on Next. Update on startup; select yes (if you want).

Feedback; select yes or no.

License Key is optional (can be left blank).

Click Install on next screen.

Close when finished.

UNINSTALLATION

sudo vmware-installer -u vmware-player

Hope this helps.

Dave
  • 1,454
  • I cannot upgrade to Player 14. My processor (Intel® Core™2 Duo CPU T9300 @ 2.50GHz × 2) is too old. So my only option is to patch the kernel(?). Can you explain exactly how to do that please? – user86019 Jan 21 '18 at 10:46
  • I've updated my answer to show how to patch for those that cannot run VMWare workstation 14. – Dave Jan 21 '18 at 21:50
  • Thanks for your reply. However, I receive some errors. Best thing I should do is to re-install Ubuntu 17.4. (dir 4.13.0-16-generic does not exist). Also "vim vmnet-only/bridge.c΅ shows an editor but then what? Make in vmmon-only seems to work. Make in vmnet-only produces errors. Any comments? – user86019 Jan 24 '18 at 15:33
  • cc1: some warnings being treated as errors scripts/Makefile.build:308: recipe for target '/usr/lib/vmware/modules/source/vmnet-only/bridge.o' failed make[2]: *** [/usr/lib/vmware/modules/source/vmnet-only/bridge.o] Error 1 Makefile:1550: recipe for target 'module/usr/lib/vmware/modules/source/vmnet-only' failed make[1]: *** [module/usr/lib/vmware/modules/source/vmnet-only] Error 2 make[1]: Leaving directory '/usr/src/linux-headers-4.13.0-25-generic' Makefile:120: recipe for target 'vmnet.ko' failed make: *** [vmnet.ko] Error 2 – user86019 Jan 24 '18 at 15:34
  • Try replacing the 4.13.0-16-generic with whatever your kernel is. For example, mine is currently 4.13.0-31-generic. – Dave Jan 25 '18 at 00:18
  • I did replace it. Still got error messages. I have re-installed 17.04 and VMware works again. Thanks for trying to help me. – user86019 Jan 25 '18 at 16:37
1

Using Charly's script on superuser.com/questions/1328401/vmware-workstation-vmmon-broken-on-ubuntu-18-04/, I was able to build the needed modules for kernel 4.15.0-29-generic on 16.04LTS. There is a typo at the end of the script, there should not be a line return between sudo ln -s /lib/x86_64-linux-gnu/libz.so.1 and /usr/lib/vmware/lib/libz.so.1/libz.so.1

Another addition I would recommend is to add sudo /etc/init.d/vmware restart command to the end of the above script.

So the actual solution script with tweaks is:

#!/bin/bash
VMWARE_VERSION=workstation-12.5.9
TMP_FOLDER=/tmp/patch-vmware
rm -fdr $TMP_FOLDER
mkdir -p $TMP_FOLDER
cd $TMP_FOLDER
git clone https://github.com/mkubecek/vmware-host-modules.git
cd $TMP_FOLDER/vmware-host-modules
git checkout $VMWARE_VERSION
git fetch
make
sudo make install
sudo rm /usr/lib/vmware/lib/libz.so.1/libz.so.1
sudo ln -s /lib/x86_64-linux-gnu/libz.so.1 /usr/lib/vmware/lib/libz.so.1/libz.so.1
sudo /etc/init.d/vmware restart

Note that this will only work for Workstation 12.5.9, you can easily tell which version you have by running vmware --version and you can probably update the script to have it work for other versions... but I haven't tested that.

Eliah Kagan
  • 117,780
NeoGeek
  • 111
0

Another add-on to this fix under Ubuntu 20.04 LTS and Ubuntu 22.04 LTS:

You must invoke vmplayer in the shell or within the desktop icon using the full path to the file, like this:

ubuntu@ubuntu:~$ /usr/lib/vmware/bin/vmplayer 

If you don't in these later versions of Ubuntu, apparently a different version of some shared libraries are selected and the application crashes with a segmentation fault instead! This includes fixing the desktop icon info file.

FYI - You can also choose to install vmplayer itself in a different location than /usr/lib if you want. For example, to install under /opt instead, just add the argument --set-setting vmware-installer libdir /opt when running the installer bundle.