2

I have 2 issues since being upgraded to linux 6.5.0-14 from 6.2.0-39:

#1: I'm unable to compile the modules needed for vmware workstation player 17. Version 17.0.2 build-21581411. At first it could not find gcc-12. Following the recommendations from another post I installed gcc-12 and linked it. By doing the following: sudo apt install gcc-12

sudo ln -s -f /usr/bin/gcc-12 /usr/bin/gcc

After doing that it started compiling but failed. Here's a snippet from the vm log file:

2024-01-16T21:14:35.424Z In(05) host-4433 make[2]: *** [/usr/src/linux-headers-6.5.0-14-generic/Makefile:2037: /tmp/modconfig-XOkG7f/vmnet-only] Error 2
2024-01-16T21:14:35.424Z In(05) host-4433 make[1]: *** [Makefile:234: __sub-make] Error 2
2024-01-16T21:14:35.424Z In(05) host-4433 make: *** [Makefile:117: vmnet.ko] Error 2
2024-01-16T21:14:35.424Z In(05) host-4433 Unable to install all modules.  See log for details.
2024-01-16T21:14:35.424Z In(05) host-4433 

#2 The other issue that I have is that I can no longer login using ssh. When I try I get this message: "ssh: connect to host nero port 22: invalid argument". I don't have these issue when booting up using linux 6.2.0-39.

steeldriver
  • 136,215
  • 21
  • 243
  • 336
Frank
  • 23
  • 4
  • 1
    You should not manually create symlinks (or change anything else) in /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:37
  • You didn't specify if you're using the Server or Desktop release of Ubuntu 22.04, but switching to the GA kernel stack (5.15) might be any easy option (rather than HWE which upgrades to kernels used by newer releases; 6.2 from 23.04, 6.5 from 23.10) Your install media sets the default (some using GA, others HWE; https://wiki.ubuntu.com/Kernel/LTSEnablementStack) – guiverc Jan 16 '24 at 22:47
  • @zwets I believe that OP here followed a comment that I had made on the other post of https://askubuntu.com/questions/1499824/ubuntu-22-04-3-vmware-kernel-module-updater#comment2627853_1499824. But there is a way to set it up so that the update-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:06
  • 1
    Unfortunately, that snippet of the log doesn't show as to why it failed. We will probably need to see more of it. Also, what are you trying to SSH to? A message like Invalid Argument is due to usually IP translation. Not sure why that is, but off the top of my head is that in 6.5.0-14-generic the NIC may not be working properly. You haven't given us enough info for us to really give you an answer. – Terrance Jan 16 '24 at 23:45
  • @Terrance Yes, I checked the update-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 and ln -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
  • @Terrance I am using the desktop version. I don't ssh a lot, but I do use scp to copy file between my systems at home. I'm not sure how much of the vmware log file to show or if there is a way to upload the file it is around 230 lines. Thank you for your patience with me. – Frank Jan 17 '24 at 11:58
  • @Frank You can use the https://pastebin.ubuntu.com/ site to upload an entire log to. Then all you would have to post is the link to the log. – Terrance Jan 17 '24 at 14:24
  • @Terrance I hope I'm doing this right. Here is the Link: https://pastebin.ubuntu.com/p/W8pXRpDj9H/ – Frank Jan 17 '24 at 18:07
  • I have another the system that was upgraded uname -a Linux frank-dev 6.5.0-14-generic #14~22.04.1-Ubuntu SMP PREEMPT_DYNAMIC Mon Nov 20 18:15:30 UTC 2 x86_64 x86_64 x86_64 GNU/Linux It's gcc and g++ are still at 11.40 gcc --version gcc (Ubuntu 11.4.0-1ubuntu1~22.04) 11.4.0 g++ --version g++ (Ubuntu 11.4.0-1ubuntu1~22.04) 11.4.0 – Frank Jan 17 '24 at 18:18
  • Yep, you did it right. Looks like it is failing on an incompatibility of the driver for vmnet-only bridge: /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:18
  • @Terrance I don't use the wired nic. I use the wireless. Can I disable the wired nic? I believe it is on the motherboard. – Frank Jan 17 '24 at 18:25
  • I put that as an example in my comment where I saw that same type of failure. The vmnet-only is a virtual driver installed by VMWare that bridges whatever NIC you are using into the VM. – Terrance Jan 17 '24 at 18:26
  • @Terrance This probably explains my ssh issue as well. – Frank Jan 17 '24 at 18:36
  • @Frank I just VPNd into my home network for the time being. I downloaded the VMWare Player version 17.5.0. That is what I am using and it installed without an issue with the new Kernel and the change of gcc to point to the gcc-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
  • I know I mentioned earlier in another comment about VMWare Player 17.0.2, but that's what I get when I am not sitting in front of my system. Sorry about that. I did indeed install the 17.5.0 version. – Terrance Jan 17 '24 at 23:18
  • @Terrance I had success installing version 17.5.0. Thank you. I don't know to post the answer is that something you do or do I? – Frank Jan 18 '24 at 14:14
  • Let me write something up. – Terrance Jan 18 '24 at 14:47

1 Answers1

1

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!

Terrance
  • 41,612
  • 7
  • 124
  • 183