VMware Communities
phiroict
Contributor
Contributor
Jump to solution

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

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
Jump to solution

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

41 Replies
mkubecek
Hot Shot
Hot Shot
Jump to solution

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
Jump to solution

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
Jump to solution

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

 

Reply
0 Kudos
phiroict
Contributor
Contributor
Jump to solution

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 !

Reply
0 Kudos
virtual_k
Contributor
Contributor
Jump to solution

# 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
Jump to solution

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 ...

Reply
0 Kudos
a_p_
Leadership
Leadership
Jump to solution

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

André

Reply
0 Kudos
nexuscore
Contributor
Contributor
Jump to solution

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
Jump to solution

> 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.

Reply
0 Kudos
ndobbs
Contributor
Contributor
Jump to solution

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
Jump to solution

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
Jump to solution

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

Reply
0 Kudos
manixware
Contributor
Contributor
Jump to solution

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

 

 

 

Reply
0 Kudos
SoniaX
Contributor
Contributor
Jump to solution

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
Jump to solution


@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


Reply
0 Kudos
WavesOfGrass
Contributor
Contributor
Jump to solution

This also solved my problem, thanks!

Reply
0 Kudos
taknavoyhto2099
Contributor
Contributor
Jump to solution

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`


 

Reply
0 Kudos
harold_callahan
Contributor
Contributor
Jump to solution

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

 

Reply
0 Kudos
aussiedan
Contributor
Contributor
Jump to solution

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

 

Reply
0 Kudos