phiroict
Contributor
Contributor

Compiling vmmon module fails on linux kernel 5.16.0-arch1-1

Jump to solution

After upgrading to the 5.16 kernel on my main machine:
uname -a :

5.16.0-arch1-1 #1 SMP PREEMPT Mon, 10 Jan 2022 20:11:47 +0000 x86_64 GNU/Linux

I found that recompiling the vmmon  module fails with

 

/tmp/modconfig-lXl0QD/vmnet-only/vm_assert.h:43:10: fatal error: stdarg.h: No such file or directory
43 | #include <stdarg.h>

There are more errors, all based on not finding the stdarg.h header file. Now, the linux-headers have been installed, and compiling on the previous kernel worked ok.

 

When starting workstation pro (vmware --version: VMware Workstation 16.2.1 build-18811642) it offers to recompile the modules

phiroict_0-1642028145234.png

Which then fails with:

phiroict_1-1642028178230.png

So this looks like more customers may run into as the 5.16 becomes more current.

Rebuilding on the commandline with:

vmware-modconfig --console --install-al

Results in the same error, it looks like the process does not find the linux headers anymore. The header missing is in the source directory

cd /usr/src/linux/include
find . -name stdarg.h -type f
./linux/stdarg.h

Which leads me to believe that the Makefile does not look into that directory when building. Can somebody point me to where the kernel headers path for compiling is set? 

 

1 Solution

Accepted Solutions
ajgringo619
Hot Shot
Hot Shot

How did you install VMware: by .bundle or Arch package? I've been using aur/vmware-workstation and it's never failed me, including with the latest 5.16 kernel.

View solution in original post

30 Replies
mkubecek
Hot Shot
Hot Shot

There are some build issues with 5.16 kernel and also an older bug which affects vmmon with any kernel >= 5.11. You can use workstation-16.2.1 branch from this repository  until VMware fixes the issues.

ajgringo619
Hot Shot
Hot Shot

How did you install VMware: by .bundle or Arch package? I've been using aur/vmware-workstation and it's never failed me, including with the latest 5.16 kernel.

phiroict
Contributor
Contributor

Ah, did not even consider that one, will try that and will let you know, Thanks!

 

0 Kudos
phiroict
Contributor
Contributor

Yes, that did the trick,

I uninstalled the bundle

sudo ./VMware-Workstation-Full-16.2.1-18811642.x86_64.bundle -u vmware-workstation

Then followed the instructions from https://computingforgeeks.com/install-vmware-workstation-on-arch-linux-manjaro/ (Works on Arco as well)
Thanks @ajgringo619 !

0 Kudos
virtual_k
Contributor
Contributor
# CPATH=/usr/src/linux/include vmware-modconfig --console --install-all

this assumes `/usr/src/linux/include` points to the include directory from the current kernel source tree (kernel headers)

 

-krunch3r

 

continuum
Immortal
Immortal

Please edit the line starting with scsi0:0.redo - it makes you look like a spammer ....

Ulli


________________________________________________
Do you need support with a VMFS recovery problem ? - send a message via skype "sanbarrow"
I do not support Workstation 16 at this time ...

0 Kudos
a_p_
Leadership
Leadership

Hi Ulli. It is (was) spam and I've removed the post.

André

0 Kudos
nexuscore
Contributor
Contributor

Thank You so much!!! Was trying to figure this out for awhile on the latest Fedora 35 update. Your fix worked with the following:

sudo CPATH=/usr/src/kernels/5.16.5-200.fc35.x86_64/include/linux vmware-modconfig --console --install-all

I was freaking out lol. 

WhyItsLikeThis
Contributor
Contributor

> sudo CPATH=/usr/src/kernels/5.16.5-200.fc35.x86_64/include/linux vmware-modconfig --console --install-all

@nexuscoreThank you for providing that command. I don't really know what that command is actually doing. But it did work. When I launched VMware again, it didn't ask for vmmon and vmnet updates anymore and launched VMWare Workstation without an issue.

What I don't understand is, why vmnet and vmnet modules SUCKS so much!? In each kernel update, it tends to break. Is it because these two modules are proprietary and need continuous maintenance!?

Does every user have to google or post in the VMware community to find hacks/workaround after module update?!
Aren't modules-update supposed to be rolled after proper testing?  And most importantly, if we know that "hacks" like this works, then doesn't VMware should use it to patch the update?!

Annoyed user.

0 Kudos
ndobbs
Contributor
Contributor

This worked for me on Fedora 35 running kernel: 5.16.5-200.fc35.x86_64

I updated the aforementioned command to include the current running kernel as this may change:

sudo CPATH=/usr/src/kernels/$(uname -r)/include/linux vmware-modconfig --console --install-all

 

soksy
Contributor
Contributor

Many thanks (what a great forum) I'm in the middle of a project rushing to finish some testing and the latest Fed35 updates killed my VMware Workstation argh!!!!! Now fixed.

Edmundo_007
Contributor
Contributor

 Thank you very much, I have fixed it with this command!!!

0 Kudos
manixware
Contributor
Contributor

Thank you !

 

This solution worked for me on Fedora 35 with kernel  5.16.16-200.fc35.x86_64 and installing using VMware-Player-Full-16.2.3-19376536.x86_64.bundle from the VMware website. I had to install kernel-headers, kernel-devel  and tools

 

 

 

0 Kudos
SoniaX
Contributor
Contributor

for debian testing i had to use this command :

sudo CPATH=/usr/lib/gcc/x86_64-linux-gnu/11/include vmware-modconfig --console --install-all

 

jperconti
Contributor
Contributor

@SoniaX wrote:

for debian testing i had to use this command :

sudo CPATH=/usr/lib/gcc/x86_64-linux-gnu/11/include vmware-modconfig --console --install-all

 


Thank You.

For Fedora 35 (5.16.18-200.fc35.x86_64) this works for me:

# CPATH=/usr/lib/gcc/x86_64-redhat-linux/11/include/ vmware-modconfig --console --install-all


0 Kudos
WavesOfGrass
Contributor
Contributor

This also solved my problem, thanks!

0 Kudos
taknavoyhto2099
Contributor
Contributor

Thanks this works for me on kernel 5.17.6-300.fc36.x86_64 on latest Fedora 36 uisng `CPATH=/usr/lib/gcc/x86_64-redhat-linux/12/include/ vmware-modconfig --console --install-all`


 

0 Kudos
harold_callahan
Contributor
Contributor

For anyone trying this on recent versions of Debian SID, the below commands should pull the correct kernel image path and compile the needed vmware tools

 

kernelv=$(uname -r) && sudo CPATH=/usr/src/linux-headers-${kernelv::-5}common/include/linux vmware-modconfig --console --install-all

 

0 Kudos
aussiedan
Contributor
Contributor
sudo CPATH=/usr/src/kernels/$(uname -r)/include/linux vmware-modconfig --console --install-all

I'm getting compile errors on Fedora 36 kernel-5.18.11-200.fc36.x86_64 in vmnet.

aussiedan

 

0 Kudos