亲爱的 Linux 用户们,大家好,
我运行的是 Ubuntu 14.04,并且已经gcc-7
使用工具链测试构建。
当我启动时,VM Player 12.5.7 build-5813279
它要求输入gcc 7.2
。我指向/usr/bin/gcc-7
但它说这个 gcc 版本不兼容。
关于如何实现这个功能你有什么想法吗?
答案1
我通过以下方式解决:
cd /usr/lib/vmware/modules/source tar -xf vmnet.tar cd vmnet-only make cd .. tar -xf vmmon.tar cd vmmon-only make cd .. cp vmmon.o /lib/modules/`uname -r`/misc/vmmon.ko cp vmnet.o /lib/modules/`uname -r`/misc/vmnet.ko depmod -a /etc/init.d/vmware restart
可能需要sudo
在上述每个命令之前使用。
在执行上述命令期间运行 make 时,如果出现错误,请在 vmware 社区中搜索错误以获取补丁。例如,我使用以下补丁解决了一个问题:
diff -Naur vmnet-only.orig/bridge.c vmnet-only/bridge.c --- vmnet-only/bridge.c 2017-06-26 22:08:39.148034785 +1000 +++ vmnet-only/bridge.c 2017-07-16 11:37:01.325802125 +1000 @@ -636,7 +636,7 @@ unsigned long flags; int i; - atomic_inc(&clone->users); + clone = skb_get(clone); clone->dev = dev; clone->protocol = eth_type_trans(clone, dev);
如果您version.h
的 vmware 日志中缺少该文件,请尝试以下代码:
cd /usr/src/kernels/$(uname -r)/include/linux/ ln -s /usr/include/linux/version.h version.h
注意:以上所有信息都是从互联网上获取的,现在我可以启动 VMWare Player 了
答案2
我在使用 GCC 7.2.0 的 VMWARE 12.5.8 上遇到了同样的问题。我按照 sandoche balakrichenan 提到的步骤操作,但在创建 vmmon-only 文件夹时遇到了一些问题。我不得不执行一些额外的步骤才能使 vmware 正常工作。
以下是我的步骤:
cd /usr/lib/vmware/modules/source
tar -xf vmnet.tar
cd vmnet-only
make
cd ..
tar -xf vmmon.tar
cd vmmon-only
make
[遇到一些问题,无法创建 vmmon.o 文件。R按照此处的步骤操作 ->这里 从这个 GITHUB 复制这些内容 ->这里进入 /usr/lib/vmware/modules/source 文件夹]
cd ..
[如有必要,创建 misc 文件夹]
cp vmmon.o /lib/modules/`uname -r`/misc/vmmon.ko
cp vmnet.o /lib/modules/`uname -r`/misc/vmnet.ko
depmod -a
/etc/init.d/vmware restart
效果非常好!谢谢!
答案3
根据我的经验,您应该单击弹出窗口中的“确定”按钮。VMware 内核模块更新程序应该会再次出现。只需再次将其指向您的 gcc-7。它应该可以编译。如果仍然失败,您将需要安装 gcc-7.2。这将来自工具链测试版本。使用以下命令:
sudo apt-get update -y && \
sudo apt-get upgrade -y && \
sudo apt-get dist-upgrade -y && \
sudo apt-get install build-essential software-properties-common -y && \
sudo add-apt-repository ppa:ubuntu-toolchain-r/test -y && \
sudo apt-get update -y && \
sudo apt-get install gcc-7 g++-7 -y && \
这部分必须完成:
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-7 60 --slave /usr/bin/g++ g++ /usr/bin/g++-7 && \
现在:
sudo update-alternatives --config gcc
笔记:
这也适用于 Debian,但您可以添加:而不是添加 Ubuntu repo:
deb http://ftp.us.debian.org/debian testing main contrib non-free
至结尾:
/etc/apt/sources.list
现在再次尝试 VMware 内核模块更新程序。您可能只会看到 gcc-7。只需指向那里;它将是 gcc-7.2。如果出现不兼容警告,请按照我上面所述操作。
希望这可以帮助,