答案1
16.2.4 build-20089737
我今天对我的 Ubuntu 22.04 进行了更新,并遇到了此处问题中显示的VMware Workstation 16 Pro 错误。
GNU C Compiler (gcc) version 12.3.0, was not found. If you installed it in a non-default path you can specify the path below. Otherwise refer to your distribution's documentation for installation instructors and click Refresh to search again in default locations.
自 2022 年全新安装此操作系统以来,我每天都在使用 VMWare。
有三个问题需要解决:
缺少 gcc 12
我的gcc --version
是 11.4.0。我检查了一下ls /usr/bin/x86_64-linux-gnu-*
,没有版本 12。
$ sudo add-apt-repository ppa:ubuntu-toolchain-r/ppa -y
$ sudo apt update
$ sudo apt install g++-12 gcc-12
然后重试。
skb_gso_segment 未定义
由于 gcc 标头更改,构建中断。VMWare 构建提供了一个类似的日志文件,/tmp/vmware-user/vmware_1234.log
显示了编译器错误。
此特定功能skb_gso_segment
已移至 VMWarebridge.c
没有的新标头#include
。
要亲自查看此函数定义的标题,cd /usr/src/linux-hwe-6.5-headers-6.5.0-14/include/net
和grep skb_gso_segment *
。
修复 VMWare 代码:
$ sudo su
$ cd /usr/lib/vmware/modules/source
# back up original tar file
$ cp vmnet.tar vmnet.tar.original
# change the code
$ tar -xvf vmnet.tar
$ nano vmnet-only/bridge.c
在 之后#include <linux/netdevice.h>
,添加
#include <net/gso.h>
保存并退出。然后重建 tar 文件。
$ tar -cf vmnet.tar vmnet-only
$ exit
然后重试。
__pte_offset_map 未定义
接下来,构建失败,因为函数名称已更改。在 VMWare Workstation 17 中,VMWare 更改了代码,pgtbl.h
如下所示:
#if LINUX_VERSION_CODE >= KERNEL_VERSION(6,5,0)
pte_t *pte = pte_offset_kernel(pmd, addr);
#else
pte_t *pte = pte_offset_map(pmd, addr);
#endif
为了修复 v16,我做了类似的更改。
$ sudo su
$ cd /usr/lib/vmware/modules/source
# back up original tar file
$ cp vmmon.tar vmmon.tar.original
# change the code
$ tar -xvf vmmon.tar
$ nano vmmon-only/include/pgtbl.h
在编辑器中,向下搜索pte_offset_map
并将其更改为pte_offset_kernel
。
保存并退出。然后重建 tar 文件。
$ tar -cf vmmon.tar vmmon-only
$ exit
然后重试。
这使我重新开始工作。
答案2
我也遇到了这个问题,解决这个问题的方法很简单
sudo apt install gcc-12 libgcc-12-dev
答案3
这构建必需品软件包是一个元包,其中包括以下内容(在 22.04 中):
- libc6-dev | libc-dev
- 海合会(>=4:10.2)
- g++(>=4:10.2)
- 制作
- dpkg-dev(>= 1.17.11)
使用以下命令安装:
sudo apt update && sudo apt install build-essential
应该可以解决问题,确保您的系统上拥有所有基本的 C 和 C++ 编译器工具。
答案4
在 Ubuntu 22.04 上安装 WS Pro 17.5 build 22583795 时也遇到了此编译器未找到消息。
我的 gcc 显示为最新版本,但实际上是 11.04。
我尝试了基本方法并运行sudo apt 安装 g++-12 gcc-12
我关闭并重新打开 WS Pro,它现在显示需要编译库。我单击“确定”,安装向导成功继续。