未找到 GNU C 编译器 (gcc) 版本 12.2.0 vmware

未找到 GNU C 编译器 (gcc) 版本 12.2.0 vmware

安装 VMware 后,我收到此消息。我在 askubuntu 上看到过类似的主题,但此解决方案对我不起作用。

https://imgur.com/a/y5EQF08

答案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/netgrep 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,它现在显示需要编译库。我单击“确定”,安装向导成功继续。

相关内容