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
Which then fails with:
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?
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.
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.
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.
Ah, did not even consider that one, will try that and will let you know, Thanks!
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 !
# 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
Please edit the line starting with scsi0:0.redo - it makes you look like a spammer ....
Ulli
Hi Ulli. It is (was) spam and I've removed the post.
André
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.
> 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.
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
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.
Thank you very much, I have fixed it with this command!!!
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
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
@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
This also solved my problem, thanks!
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`
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
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