The VMWare Player 17+ appears to be calling for gcc 12.3.0. Ubuntu 22.04.3 LTS should already have gcc-12
installed, but if it doesn't, you can install it. I would use the --reinstall
flag to install it just in case.
sudo apt install --reinstall gcc-12
You can then check if gcc
is part of the update-alternatives
(or symbolic links) by running sudo update-alternatives --list gcc
, but I have not seen gcc
recently be in the update-alternatives
. Since it is a symbolic link you can simply update the link to point to gcc-12
or point to the binary of x86_64-linux-gnu-gcc-12
.
sudo ln -s -f /usr/bin/gcc-12 /usr/bin/gcc
or
sudo ln -s -f /usr/bin/x86_64-linux-gnu-gcc-12 /usr/bin/gcc
You are more than welcome to add it to the update-alternatives
by following through the answer here How to choose the default gcc and g++ version?. Or, I have added the lines below to add it (I am only going to to do the gcc
and not the cc
or g++
lines, etc):
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-11 10
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-12 20
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/x86_64-linux-gnu-gcc-12 30
The 10
, 20
and 30
are the priority numbers, and the higher the number the higher the priority.
You can now check the update-alternatives
for gcc
by running the following:
$ update-alternatives --list gcc
/usr/bin/gcc-11
/usr/bin/gcc-12
/usr/bin/x86_64-linux-gnu-gcc-12
Then to config gcc
to a different version run the follwing:
$ sudo update-alternatives --config gcc
There are 3 choices for the alternative gcc (providing /usr/bin/gcc).
Selection Path Priority Status
- 0 /usr/bin/x86_64-linux-gnu-gcc-12 30 auto mode
1 /usr/bin/gcc-11 10 manual mode
2 /usr/bin/gcc-12 20 manual mode
3 /usr/bin/x86_64-linux-gnu-gcc-12 30 manual mode
Press <enter> to keep the current choice[*], or type selection number:
It appears as though VMWare Player 17.0.2 is incompatible with the 6.5.0-14-generic
kernel. In the pastebin that you posted in lines 210 - 213 is the following error:
2024-01-17T11:02:29.957Z In(05) host-3229 /tmp/modconfig-ghwCI1/vmnet-only/bridge.c:1413:11: error: implicit declaration of function ‘skb_gso_segment’; did you mean ‘tcp_gso_segment’? [-Werror=implicit-function-declaration]
2024-01-17T11:02:29.957Z In(05) host-3229 1413 | segs = skb_gso_segment(skb, 0);
2024-01-17T11:02:29.957Z In(05) host-3229 | ^~~~~~~~~~~~~~~
2024-01-17T11:02:29.957Z In(05) host-3229 | tcp_gso_segment
which is showing that the driver for the vmnet-only
bridge is failing to build and that error is calling the segs
that isn't compatible with the new Kernel. The version 17.5.0
has been updated for that driver and is compatible with Kernel 6.5.0-14-generic.
You can download the VMWare Player 17.5.0 from https://customerconnect.vmware.com/en/downloads/details?downloadGroup=WKST-PLAYER-1750&productId=1377&rPId=111473 and install it.
chmod +x VMware-Player-Full-17.5.0-22583795.x86_64.bundle
sudo ./VMware-Player-Full-17.5.0-22583795.x86_64.bundle
Hope this helps!
/usr/bin
. That directory (as well as/usr/lib
,/usr/share
, etc) is under control of the package management system. Changes there will almost certainly break things. If you need overrides, do so in the/usr/local/*
hierarchy. You can break the very same things there, but not damage the state of your system that is managed by APT. – zwets Jan 16 '24 at 22:37update-alternatives
for gcc is set by following https://askubuntu.com/questions/26498/how-to-choose-the-default-gcc-and-g-version/26518#26518. I did also recently perform an installation of VMware Player 17.0.2 and Kernel 6.5.0-14-generic and it worked fine by modifying the softlink to gcc before I added mine to the update-alternatives. – Terrance Jan 16 '24 at 23:06update-alternatives
route as well, as I was expecting the switch to be available there as a 'built-in', but weirdly it isn't. Maybe time for my first question on AU: How do I switch between gcc versions? :) Anyway, my fierce defence of APT's autocracy over/usr/*
still stands :p andln -sfT /usr/bin/gcc-12 /usr/local/bin/gcc
is there for us mere mortals to override it. – zwets Jan 17 '24 at 01:20/tmp/modconfig-ghwCI1/vmnet-only/bridge.c:1413:11: error: implicit declaration of function ‘skb_gso_segment’; did you mean ‘tcp_gso_segment’? [-Werror=implicit-function-declaration]
which I have seen the same message with an older NIC driver with the r8168 8.049.01 driver and the 6.5.0-14-generic kernel. You might want to try to download another VMWare Player that might be updated. I am not at home right now to check what version I downloaded, but I know that my test install passed. – Terrance Jan 17 '24 at 18:18vmnet-only
is a virtual driver installed by VMWare that bridges whatever NIC you are using into the VM. – Terrance Jan 17 '24 at 18:26gcc
to point to thegcc-12
. I didn't test 17.0.2, but it wouldn't surprise me where that version is not compatible with the 6.5.0-14-generic Kernel. – Terrance Jan 17 '24 at 21:22