11

Hi after upgrading to Ubuntu 17.10, vmware is now not starting.

I get the message:

/usr/lib/vmware/bin/vmware-modconfig: Relink `/lib/x86_64-linux-gnu/libbsd.so.0' with `/lib/x86_64-linux-gnu/librt.so.1' for IFUNC symbol `clock_gettime'

I am aware that there are patches available and I am attempting to apply these and recompile. I have run from the solution at https://communities.vmware.com/thread/571370:

cd ~  
#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 that mkubecek posted and overwrite the one from the tar ball for VMware Workstation 12.5:
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  
Failed to get gcc information. 
gcc --version
gcc (Ubuntu 7.2.0-8ubuntu3) 7.2.0 ...

Unforunately, vmware-modconfig is failing because of a dependency it seems on a particular gcc version. Am I on the right track? Any help with this issue would be much appreciated.

EDIT Thank you Steve, the below has gotten vmware going again. I've included minor correction. Tested and confirmed I could run a virtual machine.

sudo su
# do all below as root
cd /usr/lib/vmware/modules/source
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 normal user
/usr/lib/vmware/bin/vmware
5
  • 2
    In general, 3rd party virtualization is going to lag a bit with new kernels and new releases. This seems to affect vmware more than virtualbox. As vmware is closed source you will have to ask them. As a potential alternate - this is why I try as much as possible to use KVM or LXC (although I still feel LXC is not ready for production servers). KVM + spice is very fast (FWIW). With vmware my guess is there will be a work around anywhere from 1-3 days or 3-4 weeks depending on the complexity of the problem.
    – Panther
    Oct 20, 2017 at 4:48
  • The patch you are trying to apply is for resolving a bug with memory handling, not for the problem related to the error message you mentioned. AFAIK there is no solution for that problem yet. There is a bug report on launchpad: bugs.launchpad.net/ubuntu/+source/linux/+bug/1715552
    – user749720
    Oct 20, 2017 at 14:50
  • did you able to resolve the issue "Failed to get gcc information. " ? Nov 10, 2017 at 14:30
  • Unforunately not, I currently run a script that sudo executes insmod and vmware-networks commands and then vmware binary as normal user. Nov 11, 2017 at 2:01
  • I have Lubuntu 18.04 - the Method from Stephen Wassell didn't work. The solution from tokam - upgrade to VMWare 14 didn't work too - because of the policy from VMWare only to support the newest hardware. The method from John did work - but only if I start the vmplayer as su. Otherwise I will get dependable a message: Row 106: 29487 memory error (memory dump written) "$BINDIR"/vmware-modconfig --appname="VMWaer Player! --ivon="vmware-player" Apr 6, 2019 at 19:33

4 Answers 4

12

I've managed to get VMWare Workstation 12.5.7 working on Kubuntu 17.10.

In /usr/lib/vmware/modules/source:

  1. Extract vmmon.tar and vmnet.tar

    sudo tar -xf vmmon.tar
    sudo tar -xf vmnet.tar
    

    This will create vmmon-only and vmnet-only directories.

  2. Fetch the patched hostif.c

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

    (note: https://communities.vmware.com/thread/571370 - also contains a similar fix for VMWare Workstation 14)

  3. Edit vmnet-only/bridge.c:

    639c639
    <        atomic_inc(&clone->users);
    ---
    >        atomic_inc((atomic_t*)&clone->users);
    
  4. Run

    make -C vmmon-only
    make -C vmnet-only
    cp -t /lib/modules/4.13.0-16-generic/misc *.ko
    modprobe -r vmmon
    insmod /lib/modules/4.13.0-16-generic/misc/vmmon.ko
    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  # see https://communities.vmware.com/thread/572259
    vmware-networks --start  # see https://forum.chakralinux.org/viewtopic.php?id=8579
    
  5. As user:

    /usr/lib/vmware/bin/vmware
    

    (to prevent it running vmware-modconfig)

9
  • Awesome, Great work Stephen, your answer was extremely easy to follow. I've repeated the steps explicitly, as well as added minor correction for step 8 in my question edit above. Cheers! Oct 24, 2017 at 14:00
  • Glad it worked for you! I fixed my step 8 too, thanks for the correction. Hope this all persists over reboot... Oct 24, 2017 at 14:48
  • 1
    Thanks again Stephen, I'm all good provided I start with /usr/lib/vmware/bin/vmware, otherwise vmware reports not being able to find GCC. Oct 25, 2017 at 23:22
  • Thanks much for posting! This got me running again. Is there any place we can go to see where VMWare is at with providing a fix?
    – Eric
    Nov 1, 2017 at 20:31
  • 4
    Workstation 14.1.0 is now released which fixes this problem. my.vmware.com/group/vmware/… Dec 22, 2017 at 13:29
9

I have tried approx all other solutions but nothing worked. But these steps worked for me on Ubuntu 18.04, VMware 12.5.9

git clone https://github.com/mkubecek/vmware-host-modules.git
cd vmware-host-modules
git checkout workstation-12.5.9 (change it to your version. it's important)
make && sudo make install
cd /usr/lib/vmware/lib/libz.so.1
sudo mv libz.so.1 libz.so.1.old
sudo ln -s /lib/x86_64-linux-gnu/libz.so.1 .
sudo depmod -a
sudo /etc/init.d/vmware restart

Reference:

https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1715552

https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1715552/comments/29

4
  • 2
    this works great, thanks a ton! I've been looking for a solution to this for ubuntu 18.04 since it came out!
    – Stam Kaly
    Oct 29, 2018 at 19:52
  • 1
    Can confirm that this works for Ubuntu 18.10, with VMWare Workstation Pro 12.5.9.
    – xax
    Feb 6, 2019 at 11:07
  • This solution worked for me on Linux Mint 19.2 64bit with vmware workstation pro 12.5.9.
    – Lexib0y
    Oct 9, 2019 at 13:12
  • Also worked on Debian Buster with Workstation 12.5.9. Jun 26, 2020 at 20:32
2

The bugfix described by: Stephen leads for many to an other bug: "Failed to get gcc information."

The simplest solution is to download vmware player workstation 14.1.

Installing it instead of the 12.5 version solves the issues described above.

To do so just run

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

And follow the instructions in the graphical installer.

4
  • 2
    which requires a license upgrade
    – shadowbq
    Jan 31, 2018 at 15:31
  • launch using /usr/lib/vmware/bin/vmware instead to resolve "Failed to get gcc information"
    – shadowbq
    Jan 31, 2018 at 15:32
  • 2
    I think noncomercially it also works without that license upgrade
    – tokam
    Feb 6, 2018 at 14:08
  • 12.5.9 happens to be the last version that works with CPUs before 2011 that don't have Intel EPT. Jun 26, 2020 at 20:14
2

In addition to the answer by Stephen Wassell, if you are still running the VM Workstation 12.5.x version you will need to re-compile your .ko for every kernel patch.. which is alot..

You may see this error: (Invalid module format)

# insmod /lib/modules/4.13.0-31-generic/misc/vmnet.ko 
insmod: ERROR: could not insert module /lib/modules/4.13.0-31-generic/misc/vmnet.ko: Invalid module format

Here is a tool to keep the kernel modules for the ubuntu-flavor-distros updated after a kernel patch.

https://gist.github.com/shadowbq/5897002b620b093ca7578b5f13c3f3a1

I've also included a simple wrapper.sh that you can use a replacement for launching vmware workstation so you can be sure it appropriately loads the vm-network and vm-mon kernel modules everytime.

Note: this script will not expand the 'tar' or 'patch' the source files, this is for automatically recompiling the kernel modules after a kernel patch following the orignal steps by Stephen Wassell.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .