use*_*734 11 upgrade vmware gcc vmware-workstation 17.10
嗨,升级到 Ubuntu 17.10 后,vmware 现在没有启动。
我收到消息:
/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'
Run Code Online (Sandbox Code Playgroud)
我知道有可用的补丁,我正在尝试应用这些补丁并重新编译。我已经从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 ...
Run Code Online (Sandbox Code Playgroud)
不幸的是,vmware-modconfig 失败是因为它似乎依赖于特定的 gcc 版本。我在正确的轨道上吗?对这个问题的任何帮助将不胜感激。
编辑 谢谢史蒂夫,下面的内容让 vmware 再次运行。我已经包括了小修正。测试并确认我可以运行虚拟机。
Run Code Online (Sandbox Code Playgroud)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
Run Code Online (Sandbox Code Playgroud)
Ste*_*ell 12
我已经设法让 VMWare Workstation 12.5.7 在 Kubuntu 17.10 上工作。
在/usr/lib/vmware/modules/source
:
提取vmmon.tar
和vmnet.tar
sudo tar -xf vmmon.tar
sudo tar -xf vmnet.tar
Run Code Online (Sandbox Code Playgroud)
这将创建vmmon-only
和vmnet-only
目录。
获取补丁 hostif.c
sudo wget -O vmmon-only/linux/hostif.c https://raw.githubusercontent.com/mkubecek/vmware-host-modules/b50848c985f1a6c0a341187346d77f0119d0a835/vmmon-only/linux/hostif.c
Run Code Online (Sandbox Code Playgroud)
(注意:https : //communities.vmware.com/thread/571370 - 还包含针对 VMWare Workstation 14 的类似修复)
编辑vmnet-only/bridge.c
:
639c639
< atomic_inc(&clone->users);
---
> atomic_inc((atomic_t*)&clone->users);
Run Code Online (Sandbox Code Playgroud)跑
sudo tar -xf vmmon.tar
sudo tar -xf vmnet.tar
Run Code Online (Sandbox Code Playgroud)作为用户:
/usr/lib/vmware/bin/vmware
Run Code Online (Sandbox Code Playgroud)
(防止它运行vmware-modconfig
)
我已经尝试了大约所有其他解决方案,但没有任何效果。但是这些步骤在 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
Run Code Online (Sandbox Code Playgroud)
参考:
https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1715552
https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1715552/comments/29