VMware Communities
kamiller42
Enthusiast
Enthusiast
Jump to solution

VMware 16.2.5 w/kernel 5.19.0-32-generic won't build

My KDE Neon went from 5.15 to 5.19 and Workstation won't run now. A VMware rebuild usually goes fine, but not this time. I receive errors about stdarg.h and stddef.h are missing.

The Linux headers are installed.

linux-headers-5.19.0-32-generic is already the newest version (5.19.0-32.33~22.04.1).


Build log sample:

[AppLoader] GLib does not have GSettings support.
Stopping VMware services:
   VMware Authentication Daemon                                        done
   Virtual machine monitor                                             done
make: Entering directory '/tmp/modconfig-pfBOZO/vmmon-only'
Using kernel build system.
/usr/bin/make -C /lib/modules/5.19.0-32-generic/build/include/.. M=$PWD SRCROOT=$PWD/. \
  MODULEBUILDDIR= modules
make[1]: Entering directory '/usr/src/linux-headers-5.19.0-32-generic'
warning: the compiler differs from the one used to build the kernel
  The kernel was built by: x86_64-linux-gnu-gcc (Ubuntu 11.3.0-1ubuntu1~22.04) 11.3.0
  You are using:           gcc (Ubuntu 11.3.0-1ubuntu1~22.04) 11.3.0
  CC [M]  /tmp/modconfig-pfBOZO/vmmon-only/linux/driver.o
  CC [M]  /tmp/modconfig-pfBOZO/vmmon-only/linux/driverLog.o
  CC [M]  /tmp/modconfig-pfBOZO/vmmon-only/linux/hostif.o
  CC [M]  /tmp/modconfig-pfBOZO/vmmon-only/common/apic.o
  CC [M]  /tmp/modconfig-pfBOZO/vmmon-only/common/comport.o
  CC [M]  /tmp/modconfig-pfBOZO/vmmon-only/common/cpuid.o
  CC [M]  /tmp/modconfig-pfBOZO/vmmon-only/common/crosspage.o
  CC [M]  /tmp/modconfig-pfBOZO/vmmon-only/common/memtrack.o
In file included from /tmp/modconfig-pfBOZO/vmmon-only/common/apic.c:19:
/tmp/modconfig-pfBOZO/vmmon-only/./include/vm_basic_defs.h:54:12: fatal error: stddef.h: No such file or directory
   54 | #  include <stddef.h>
      |            ^~~~~~~~~~
compilation terminated.
make[2]: *** [scripts/Makefile.build:257: /tmp/modconfig-pfBOZO/vmmon-only/common/apic.o] Error 1
make[2]: *** Waiting for unfinished jobs....
In file included from /tmp/modconfig-pfBOZO/vmmon-only/./include/cpu_types.h:29,
                 from /tmp/modconfig-pfBOZO/vmmon-only/./include/modulecall.h:33,
                 from /tmp/modconfig-pfBOZO/vmmon-only/common/crosspage.c:57:
/tmp/modconfig-pfBOZO/vmmon-only/./include/vm_basic_defs.h:54:12: fatal error: stddef.h: No such file or directory
   54 | #  include <stddef.h>
      |            ^~~~~~~~~~
compilation terminated.
make[2]: *** [scripts/Makefile.build:257: /tmp/modconfig-pfBOZO/vmmon-only/common/crosspage.o] Error 1
In file included from /tmp/modconfig-pfBOZO/vmmon-only/common/cpuid.c:29:
/tmp/modconfig-pfBOZO/vmmon-only/./include/vm_assert.h:43:10: fatal error: stdarg.h: No such file or directory
   43 | #include <stdarg.h>
      |          ^~~~~~~~~~
compilation terminated.
make[2]: *** [scripts/Makefile.build:257: /tmp/modconfig-pfBOZO/vmmon-only/common/cpuid.o] Error 1
In file included from /tmp/modconfig-pfBOZO/vmmon-only/./include/cpu_types.h:29,
                 from /tmp/modconfig-pfBOZO/vmmon-only/./include/modulecall.h:33,
                 from /tmp/modconfig-pfBOZO/vmmon-only/common/vmx86.h:33,
                 from /tmp/modconfig-pfBOZO/vmmon-only/common/hostif.h:32,
                 from /tmp/modconfig-pfBOZO/vmmon-only/common/memtrack.c:89:
/tmp/modconfig-pfBOZO/vmmon-only/./include/vm_basic_defs.h:54:12: fatal error: stddef.h: No such file or directory
   54 | #  include <stddef.h>
      |            ^~~~~~~~~~
compilation terminated.
make[2]: *** [scripts/Makefile.build:257: /tmp/modconfig-pfBOZO/vmmon-only/common/memtrack.o] Error 1
In file included from /tmp/modconfig-pfBOZO/vmmon-only/linux/driverLog.h:33,
                 from /tmp/modconfig-pfBOZO/vmmon-only/linux/driverLog.c:31:
/tmp/modconfig-pfBOZO/vmmon-only/./include/vm_assert.h:43:10: fatal error: stdarg.h: No such file or directory
   43 | #include <stdarg.h>
      |          ^~~~~~~~~~
compilation terminated.
make[2]: *** [scripts/Makefile.build:257: /tmp/modconfig-pfBOZO/vmmon-only/linux/driverLog.o] Error 1
In file included from /tmp/modconfig-pfBOZO/vmmon-only/linux/driverLog.h:33,
                 from /tmp/modconfig-pfBOZO/vmmon-only/linux/driver.c:46:
/tmp/modconfig-pfBOZO/vmmon-only/./include/vm_assert.h:43:10: fatal error: stdarg.h: No such file or directory
   43 | #include <stdarg.h>
      |          ^~~~~~~~~~
compilation terminated.
In file included from /tmp/modconfig-pfBOZO/vmmon-only/./include/cpu_types.h:29,
                 from /tmp/modconfig-pfBOZO/vmmon-only/./include/modulecall.h:33,
                 from /tmp/modconfig-pfBOZO/vmmon-only/linux/hostif.c:58:
/tmp/modconfig-pfBOZO/vmmon-only/./include/vm_basic_defs.h:54:12: fatal error: stddef.h: No such file or directory
   54 | #  include <stddef.h>
      |            ^~~~~~~~~~
compilation terminated.
make[2]: *** [scripts/Makefile.build:257: /tmp/modconfig-pfBOZO/vmmon-only/linux/driver.o] Error 1
make[2]: *** [scripts/Makefile.build:257: /tmp/modconfig-pfBOZO/vmmon-only/linux/hostif.o] Error 1
make[1]: *** [Makefile:1850: /tmp/modconfig-pfBOZO/vmmon-only] Error 2
make[1]: Leaving directory '/usr/src/linux-headers-5.19.0-32-generic'
make: *** [Makefile:117: vmmon.ko] Error 2
make: Leaving directory '/tmp/modconfig-pfBOZO/vmmon-only'
make: Entering directory '/tmp/modconfig-pfBOZO/vmnet-only'

 

 

1 Solution

Accepted Solutions
mkubecek
Hot Shot
Hot Shot
Jump to solution

@kamiller42 wrote:

No errors there, but they do appear incomplete, i.e. exited before completed.

They don't look incomplete to me, AFAICS they look exactly the way they are supposed to, except for the warning about gcc version mismatch (which is almost certainly innocuous as it's in fact the same version).

When I launch a VM, I get the vmmon not found error.

Did you reload the modules after installing them? (The easiest way is to run "/etc/init.d/vmware restart".)

Also, vmware fails to rebuild. The vmware build log is the same as the log in the original post.

There is no need to let VMware rebuild the modules. Actually, as I explained, it would be wrong as it would use the original unpatched tarballs (which is why the rebuild fails).

View solution in original post

10 Replies
gtrxcb
Contributor
Contributor
Jump to solution

You generally have two immediate options in this instance, you can downgrade to the last working Kernel, or you can try building the modules using the excellent https://github.com/mkubecek/vmware-host-modules repository from contributor `mkubecek`.

I built the modules this morning using the 16.2.4 branch on a Ubuntu 22.04 virtual machine against Vmware Workstation Pro 16.2.4 build-20089737 (which was also failing with the 15.19.0-32 kernel) and they worked, but I have not built this against actual hardware as of yet nor the 16.2.5 build.

This issue seems to come up every so often (maybe lack of QA Ubuntu or Vmware), usually the `mkubecek` repo path is the solution, but sometimes just downgrading (if able) is the quick solution.

0 Kudos
kamiller42
Enthusiast
Enthusiast
Jump to solution

I have used mkubecek in the past, but it's not working now. The 16.2.5 release says it's "unpatched workstation 16.2.5 module sources" and fails with same header files missing error when I run 'make'. Trying the 16.2.4 patched files release makes & installs without error, but VMware Workstation still fails. Same behavior whether Workstation 16.2.4 and 16.2.5. (Output from a 16.2.4 effort below.)

16.2.5 does run when I switch to kernel 5.15.

16.2.4 release being applied to 16.2.4 Workstation:

make -C vmmon-only  
make[1]: Entering directory '/home/kmiller/Downloads/vmware-host-modules-w16.2.4-k5.19/vmmon-only'
Using kernel build system.
make -C /lib/modules/5.19.0-32-generic/build/include/.. M=$PWD SRCROOT=$PWD/. \
 MODULEBUILDDIR= modules
make[2]: Entering directory '/usr/src/linux-headers-5.19.0-32-generic'
warning: the compiler differs from the one used to build the kernel
 The kernel was built by: x86_64-linux-gnu-gcc (Ubuntu 11.3.0-1ubuntu1~22.04) 11.3.0
 You are using:           gcc (Ubuntu 11.3.0-1ubuntu1~22.04) 11.3.0
make[2]: Leaving directory '/usr/src/linux-headers-5.19.0-32-generic'
make -C $PWD SRCROOT=$PWD/. \
 MODULEBUILDDIR= postbuild
make[2]: Entering directory '/home/kmiller/Downloads/vmware-host-modules-w16.2.4-k5.19/vmmon-only'
make[2]: 'postbuild' is up to date.
make[2]: Leaving directory '/home/kmiller/Downloads/vmware-host-modules-w16.2.4-k5.19/vmmon-only'
cp -f vmmon.ko ./../vmmon.o
make[1]: Leaving directory '/home/kmiller/Downloads/vmware-host-modules-w16.2.4-k5.19/vmmon-only'
make -C vmnet-only  
make[1]: Entering directory '/home/kmiller/Downloads/vmware-host-modules-w16.2.4-k5.19/vmnet-only'
Using kernel build system.
make -C /lib/modules/5.19.0-32-generic/build/include/.. M=$PWD SRCROOT=$PWD/. \
 MODULEBUILDDIR= modules
make[2]: Entering directory '/usr/src/linux-headers-5.19.0-32-generic'
warning: the compiler differs from the one used to build the kernel
 The kernel was built by: x86_64-linux-gnu-gcc (Ubuntu 11.3.0-1ubuntu1~22.04) 11.3.0
 You are using:           gcc (Ubuntu 11.3.0-1ubuntu1~22.04) 11.3.0
make[2]: Leaving directory '/usr/src/linux-headers-5.19.0-32-generic'
make -C $PWD SRCROOT=$PWD/. \
 MODULEBUILDDIR= postbuild
make[2]: Entering directory '/home/kmiller/Downloads/vmware-host-modules-w16.2.4-k5.19/vmnet-only'
make[2]: 'postbuild' is up to date.
make[2]: Leaving directory '/home/kmiller/Downloads/vmware-host-modules-w16.2.4-k5.19/vmnet-only'
cp -f vmnet.ko ./../vmnet.o
make[1]: Leaving directory '/home/kmiller/Downloads/vmware-host-modules-w16.2.4-k5.19/vmnet-only

 make install:

install -D -t /lib/modules/5.19.0-32-generic/misc vmmon-only/vmmon.ko vmnet-only/vmnet.ko 
strip --strip-debug /lib/modules/5.19.0-32-generic/misc/vmmon.ko /lib/modules/5.19.0-32-generic/misc/vmnet.ko
if test -z ""; then /sbin/depmod -a 5.19.0-32-generic; fi

 Then a vmware rebuild command, which results in a log like in the original post.

0 Kudos
mkubecek
Hot Shot
Hot Shot
Jump to solution


@kamiller42 wrote:

The 16.2.5 release says it's "unpatched workstation 16.2.5 module sources" and fails with same header files missing error when I run 'make'.

You need branch "workstation-16.2.5", not tag "w16.2.5".

Trying the 16.2.4 patched files release makes & installs without error, but VMware Workstation still fails.

Some details about "still fails" might be helpful.

 Then a vmware rebuild command, which results in a log like in the original post.


Why would you do that? You already built and installed the modules, running vmware-modconfig would only attempt to rebuild them from the original tarball stored under /usr/lib/vmware which fails, unsurprisingly. All you need is "/etc/init.d/vmware restart".

There are two ways: either you build and install the modules separately or replace the source original tarballs and use vmware-modconfig to build and install. Each of them has its pros and cons. It's all explained in the INSTALL file.

0 Kudos
kamiller42
Enthusiast
Enthusiast
Jump to solution


@mkubecek wrote:

You need branch "workstation-16.2.5", not tag "w16.2.5".

Ah. Thanks for clarification. I usually click releases link on home page and pick the patched archive release.

Some details about "still fails" might be helpful.

The logs in the post you are replying to are the output of 'make' and 'make install' from the 16.2.4 patch itself. No errors there, but they do appear incomplete, i.e. exited before completed. When I launch a VM, I get the vmmon not found error. Also, vmware fails to rebuild. The vmware build log is the same as the log in the original post.

Why would you do that? You already built and installed the modules, running vmware-modconfig would only attempt to rebuild them from the original tarball stored under /usr/lib/vmware which fails, unsurprisingly. All you need is "/etc/init.d/vmware restart".

As you can see from the logs in the post, that rebuild does not take place. Me building independently is a hope something applied & VMware rebuilds. Also, I do it sometimes as a verification check. I will try method 2. I've never had to go that route since method 1 has worked so reliably.

0 Kudos
mkubecek
Hot Shot
Hot Shot
Jump to solution

@kamiller42 wrote:

No errors there, but they do appear incomplete, i.e. exited before completed.

They don't look incomplete to me, AFAICS they look exactly the way they are supposed to, except for the warning about gcc version mismatch (which is almost certainly innocuous as it's in fact the same version).

When I launch a VM, I get the vmmon not found error.

Did you reload the modules after installing them? (The easiest way is to run "/etc/init.d/vmware restart".)

Also, vmware fails to rebuild. The vmware build log is the same as the log in the original post.

There is no need to let VMware rebuild the modules. Actually, as I explained, it would be wrong as it would use the original unpatched tarballs (which is why the rebuild fails).

kamiller42
Enthusiast
Enthusiast
Jump to solution

I re-pulled files and started everything over clean. I got it to work. Thank you for the patch & assist!

0 Kudos
ivix
Contributor
Contributor
Jump to solution

Many thanks to the community for the solution, but are we seriously discussing installation of a fix from unknown person, from unverified source, which will be loaded as a kernel module?! As the way to run the product which is not free and not so cheap?

Many thanks to the person who makes these fixes, maybe he is the most trusted person on the Earth, I don't know, but the situation is far from normal IMHO.

How can we get a fix from VMWare?

 

 

0 Kudos
louyo
Virtuoso
Virtuoso
Jump to solution

I would guess that the official fix is something like "don't upgrade your kernel until it is supported", which would probably come at the next point release. This user who provides the patches is a trusted, well known supporter here. A couple of searches would verify that.

Some of the distros immediately jump on every kernel update, I have never run into a problem with Debian. YMMV. 

Keep in mind that this is users helping users here. 

Tags (1)
mkubecek
Hot Shot
Hot Shot
Jump to solution


@ivix wrote:

...are we seriously discussing installation of a fix from unknown person, from unverified source, which will be loaded as a kernel module?



Good to see there are still people with some common sense. 🙂 As for the "unverified source" part, would signing commits in the repository help?


How can we get a fix from VMWare?

Well, if I knew an answer to that, there would be no need for maintaining the repository in the first place...

0 Kudos
antoniocosme
Contributor
Contributor
Jump to solution

Hi all

I'm facing the same issue.

My kernel version is 5.19.0-38-generic #39~22.04.1-Ubuntu (Ubuntu 22.04.2 LTS).

2023-04-16_07-27-49.png

I have so much respect by the effort of @mkubecek (https://github.com/mkubecek/vmware-host-modules), but, sincerely, I expect that VMware release a official solution.

0 Kudos