When attempting a fresh install of VMware-Workstation-Full-17.6.4-24832109.x86_64.bundle on Ubuntu 24.04.4 LTS running the 6.17.0-14-generic kernel, I receive the subject message when executing "sudo python3 vmware_module_builder.py".
To be sure, I executed "sudo vmware-installer -u vmware-workstation" followed by "sudo rm -rf /usr/lib/vmware/" and repeated the following steps:
> sudo sh ./VMware-Workstation-Full-17.6.4-24832109.x86_64.bundle
> git clone https://github.com/Hyphaed/vmware-vmmon-vmnet-linux-6.17.x.git
> cd vmware-vmmon-vmnet-linux-6.17.x
> sudo python3 vmware_module_builder.py
The following is the output of the module builder:
╔══════════════════════════════════════════════════════════════╗
║ VMware Module Builder ║
║ Fixes vmci + rebuilds vmmon/vmnet ║
║ with kernel compatibility patches ║
╚══════════════════════════════════════════════════════════════╝
──────────────────────────────────────────────────────────────
Pre-flight checks
──────────────────────────────────────────────────────────────
✅ Patches directory found: /home/krussell/Documents/VMware/Patches/vmware-vmmon-vmnet-linux-6.17.x/patches
✅ Distro: Ubuntu (family=debian, pm=apt-get)
✅ Kernel: 6.17.0-14-generic (major=6, minor=17, patch=0)
✅ Kernel headers found: /lib/modules/6.17.0-14-generic/build
✅ VMware detected: VMware Workstation 17.6.4 build-24832109
✅ VMware module sources found in /usr/lib/vmware/modules/source
──────────────────────────────────────────────────────────────
VMware config integrity check
──────────────────────────────────────────────────────────────
✅ VMware config files look healthy (no empty or corrupt XML found)
──────────────────────────────────────────────────────────────
Secure Boot detection
──────────────────────────────────────────────────────────────
✅ Secure Boot: disabled (modules can load unsigned)
──────────────────────────────────────────────────────────────
Compilation Mode Selection
──────────────────────────────────────────────────────────────
CPU Model : Intel(R) Xeon(R) Gold 5120 CPU @ 2.20GHz
Hardware Virtualization : Intel VT-x
VPID : yes
AVX-512 : yes
AVX2 : yes
FMA / F16C : yes / yes
AES-NI : yes
SSE4.2 : yes
1GB Huge Pages (EPT) : yes
1) Vanilla — standard VMware compilation, portable
2) Optimized — modules only work on this CPU architecture (default)
Flags that will be applied:
GCC : -march=native -mtune=native -O3 -ffast-math -fno-strict-aliasing
Make : VMWARE_OPTIMIZE=1 HAS_VTX_EPT=1 HAS_AVX512=1 HAS_1GB_PAGES=1
Cores: -j56
Select [1/2, default=2]: 1
✅ Compilation mode: Vanilla
✅ Make flags: -j56
──────────────────────────────────────────────────────────────
Unloading existing VMware modules
──────────────────────────────────────────────────────────────
$ sudo modprobe -r vmnet
modprobe: FATAL: Module vmnet not found.
$ sudo rmmod vmnet
rmmod: ERROR: Module vmnet is not currently loaded
$ sudo modprobe -r vmmon
modprobe: FATAL: Module vmmon not found.
$ sudo rmmod vmmon
rmmod: ERROR: Module vmmon is not currently loaded
$ sudo modprobe -r vmw_vmci
modprobe: FATAL: Module vmw_vmci is in use.
$ sudo rmmod vmw_vmci
rmmod: ERROR: Module vmw_vmci is in use by: vmw_vsock_vmci_transport
✅ Existing modules unloaded (errors above are normal if not loaded)
──────────────────────────────────────────────────────────────
Backup & source extraction
──────────────────────────────────────────────────────────────
ℹ️ Creating first backup at: /usr/lib/vmware/modules/source/backup-20260505-104452
$ sudo mkdir -p /usr/lib/vmware/modules/source/backup-20260505-104452
$ sudo cp /usr/lib/vmware/modules/source/vmmon.tar /usr/lib/vmware/modules/source/backup-20260505-104452/vmmon.tar
$ sudo cp /usr/lib/vmware/modules/source/vmnet.tar /usr/lib/vmware/modules/source/backup-20260505-104452/vmnet.tar
✅ Backup created: backup-20260505-104452
✅ Temporary build directory: /tmp/vmware_build_ih765fld
ℹ️ Extracting vmmon.tar from backup...
✅ vmmon source extracted
ℹ️ Extracting vmnet.tar from backup...
✅ vmnet source extracted
──────────────────────────────────────────────────────────────
Exploring VMware source trees
──────────────────────────────────────────────────────────────
ℹ️ VMware source analysis:
ℹ️ vmmon Makefile style : CC_OPTS
ℹ️ vmnet Makefile style : EXTRA_CFLAGS
ℹ️ do_gettimeofday : yes (unguarded)
ℹ️ netif_napi_add : 4-arg (needs fix)
ℹ️ task->state guard : present
ℹ️ objtool markers : absent
──────────────────────────────────────────────────────────────
Applying kernel compatibility patches
──────────────────────────────────────────────────────────────
ℹ️ Legacy 6.16.x overlay: 25H2u1 sources detected (modern APIs present) — skipping
ℹ️ [AP-04] vmnet Makefile.kernel: vm_check_build injection
✅ vmnet Makefile.kernel: inject vm_check_build
ℹ️ [AP-13] Module identity defines in Makefile.kernel
ℹ️ Makefile.kernel (vmmon-only): -DVMMON already present — skipped
ℹ️ [AP-01] Kernel >= 6.17 / 7.x: objtool compatibility patches
✅ vmmon Makefile: OBJECT_FILES_NON_STANDARD (objtool bypass)
✅ vmnet Makefile: OBJECT_FILES_NON_STANDARD (objtool bypass)
ℹ️ [AP-02] Phystrack bare return; removal (objtool)
ℹ️ phystrack.c: no bare return; statements — skipped
ℹ️ [AP-03] netif_napi_add 3-arg fix (kernel 6.1+)
✅ compat_netdevice.h: netif_napi_add 3-arg fix (kernel 6.1+)
ℹ️ [AP-05] VMW_NETIF_SINGLE_NAPI_PARM detection (kernel 6.1+)
⚠️ vmnet Makefile.kernel: cannot locate ccflags-y anchor for NAPI flag
ℹ️ [AP-07] task->__state guard: already present — skipped
ℹ️ [AP-08] bridge.c: do_gettimeofday → ktime_get_real_ts64 (kernel 5.0+)
✅ bridge.c: vnetTime timeval → timespec64 inside LOGLEVEL guard (25H2u1, kernel 5.0+)
✅ bridge.c: do_gettimeofday(&vnetTime) → ktime_get_real_ts64 (kernel 5.0+) (1 occurrence(s))
✅ bridge.c: local timeval now → timespec64 (kernel 5.0+)
ℹ️ [AP-09] hostif.c: get_user_pages_fast API check
ℹ️ hostif.c: get_user_pages_fast — API compatible, no fix needed
ℹ️ [AP-10] strncpy → strscpy deprecation fix (kernel 6.8+)
ℹ️ vmmon-only: no strncpy replacements needed
ℹ️ vmnet-only: no strncpy replacements needed
ℹ️ [AP-11] userif.c: get_user_pages_fast API check
ℹ️ userif.c: get_user_pages_fast(FOLL_WRITE) — API compatible, no fix needed
ℹ️ [AP-12] MODULE_IMPORT_NS symbol namespace (kernel 5.15+)
ℹ️ driver.c: kernel does not use symbol namespaces — skipped
ℹ️ Vanilla mode: skipping optional performance patches
──────────────────────────────────────────────────────────────
Compiling vmmon and vmnet
──────────────────────────────────────────────────────────────
──────────────────────────────────────────────────────────────
Building vmmon
──────────────────────────────────────────────────────────────
$ make VM_UNAME=6.17.0-14-generic -j56
make -C /lib/modules/6.17.0-14-generic/build/include/.. M=$PWD SRCROOT=$PWD/. \
MODULEBUILDDIR= modules
make[1]: Entering directory '/usr/src/linux-headers-6.17.0-14-generic'
make[2]: Entering directory '/tmp/vmware_build_ih765fld/vmmon-only'
CC [M] linux/driver.o
CC [M] linux/driverLog.o
CC [M] linux/hostif.o
CC [M] common/apic.o
CC [M] common/comport.o
CC [M] common/cpuid.o
CC [M] common/crosspage.o
CC [M] common/memtrack.o
CC [M] common/moduleloop.o
CC [M] common/phystrack.o
CC [M] common/sharedAreaVmmon.o
CC [M] common/statVarsVmmon.o
CC [M] common/task.o
CC [M] common/vmx86.o
CC [M] bootstrap/bootstrap.o
CC [M] bootstrap/monLoader.o
CC [M] bootstrap/monLoaderVmmon.o
make[2]: Leaving directory '/tmp/vmware_build_ih765fld/vmmon-only'
make[1]: Leaving directory '/usr/src/linux-headers-6.17.0-14-generic'
Using kernel build system.
warning: the compiler differs from the one used to build the kernel
The kernel was built by: x86_64-linux-gnu-gcc-13 (Ubuntu 13.3.0-6ubuntu2~24.04) 13.3.0
You are using: gcc-13 (Ubuntu 13.3.0-6ubuntu2~24.04.1) 13.3.0
linux/driver.c:21:10: fatal error: driver-config.h: No such file or directory
21 | #include "driver-config.h"
| ^~~~~~~~~~~~~~~~~
compilation terminated.
common/moduleloop.c:30:13: fatal error: driver-config.h: No such file or directory
30 | # include "driver-config.h"
| ^~~~~~~~~~~~~~~~~
compilation terminated.
common/apic.c:20:10: fatal error: vm_basic_defs.h: No such file or directory
20 | #include "vm_basic_defs.h"
| ^~~~~~~~~~~~~~~~~
compilation terminated.
linux/driverLog.c:26:10: fatal error: driver-config.h: No such file or directory
26 | #include "driver-config.h"
| ^~~~~~~~~~~~~~~~~
make[4]: *** [/usr/src/linux-headers-6.17.0-14-generic/scripts/Makefile.build:287: linux/driver.o] Error 1
compilation terminated.
make[4]: *** Waiting for unfinished jobs....
linux/hostif.c:30:10: fatal error: driver-config.h: No such file or directory
30 | #include "driver-config.h"
| ^~~~~~~~~~~~~~~~~
compilation terminated.
make[4]: *** [/usr/src/linux-headers-6.17.0-14-generic/scripts/Makefile.build:287: common/moduleloop.o] Error 1
make[4]: *** [/usr/src/linux-headers-6.17.0-14-generic/scripts/Makefile.build:287: common/apic.o] Error 1
make[4]: *** [/usr/src/linux-headers-6.17.0-14-generic/scripts/Makefile.build:287: linux/driverLog.o] Error 1
make[4]: *** [/usr/src/linux-headers-6.17.0-14-generic/scripts/Makefile.build:287: linux/hostif.o] Error 1
In file included from common/comport.c:40:
common/comport.h:25:10: fatal error: includeCheck.h: No such file or directory
25 | #include "includeCheck.h"
| ^~~~~~~~~~~~~~~~
compilation terminated.
common/cpuid.c:22:13: fatal error: driver-config.h: No such file or directory
22 | # include "driver-config.h"
| ^~~~~~~~~~~~~~~~~
compilation terminated.
common/crosspage.c:50:13: fatal error: driver-config.h: No such file or directory
50 | # include "driver-config.h"
| ^~~~~~~~~~~~~~~~~
compilation terminated.
make[4]: *** [/usr/src/linux-headers-6.17.0-14-generic/scripts/Makefile.build:287: common/comport.o] Error 1
make[4]: *** [/usr/src/linux-headers-6.17.0-14-generic/scripts/Makefile.build:287: common/cpuid.o] Error 1
make[4]: *** [/usr/src/linux-headers-6.17.0-14-generic/scripts/Makefile.build:287: common/crosspage.o] Error 1
common/memtrack.c:79:13: fatal error: driver-config.h: No such file or directory
79 | # include "driver-config.h"
| ^~~~~~~~~~~~~~~~~
compilation terminated.
make[4]: *** [/usr/src/linux-headers-6.17.0-14-generic/scripts/Makefile.build:287: common/memtrack.o] Error 1
common/phystrack.c:38:13: fatal error: driver-config.h: No such file or directory
38 | # include "driver-config.h"
| ^~~~~~~~~~~~~~~~~
compilation terminated.
make[4]: *** [/usr/src/linux-headers-6.17.0-14-generic/scripts/Makefile.build:287: common/phystrack.o] Error 1
bootstrap/bootstrap.c:27:10: fatal error: vm_basic_types.h: No such file or directory
27 | #include "vm_basic_types.h"
| ^~~~~~~~~~~~~~~~~~
compilation terminated.
common/sharedAreaVmmon.c:27:13: fatal error: driver-config.h: No such file or directory
27 | # include "driver-config.h"
| ^~~~~~~~~~~~~~~~~
compilation terminated.
make[4]: *** [/usr/src/linux-headers-6.17.0-14-generic/scripts/Makefile.build:287: bootstrap/bootstrap.o] Error 1
common/statVarsVmmon.c:27:13: fatal error: driver-config.h: No such file or directory
27 | # include "driver-config.h"
| ^~~~~~~~~~~~~~~~~
compilation terminated.
make[4]: *** [/usr/src/linux-headers-6.17.0-14-generic/scripts/Makefile.build:287: common/sharedAreaVmmon.o] Error 1
make[4]: *** [/usr/src/linux-headers-6.17.0-14-generic/scripts/Makefile.build:287: common/statVarsVmmon.o] Error 1
common/task.c:38:13: fatal error: driver-config.h: No such file or directory
38 | # include "driver-config.h"
| ^~~~~~~~~~~~~~~~~
compilation terminated.
bootstrap/monLoaderVmmon.c:28:13: fatal error: driver-config.h: No such file or directory
28 | # include "driver-config.h"
| ^~~~~~~~~~~~~~~~~
compilation terminated.
make[4]: *** [/usr/src/linux-headers-6.17.0-14-generic/scripts/Makefile.build:287: common/task.o] Error 1
make[4]: *** [/usr/src/linux-headers-6.17.0-14-generic/scripts/Makefile.build:287: bootstrap/monLoaderVmmon.o] Error 1
common/vmx86.c:29:13: fatal error: driver-config.h: No such file or directory
29 | # include "driver-config.h"
| ^~~~~~~~~~~~~~~~~
compilation terminated.
make[4]: *** [/usr/src/linux-headers-6.17.0-14-generic/scripts/Makefile.build:287: common/vmx86.o] Error 1
bootstrap/monLoader.c:53:2: error: #error MonLoader cannot be built as part of this environment
53 | #error MonLoader cannot be built as part of this environment
| ^~~~~
bootstrap/monLoader.c:57:10: fatal error: vm_basic_types.h: No such file or directory
57 | #include "vm_basic_types.h"
| ^~~~~~~~~~~~~~~~~~
compilation terminated.
make[4]: *** [/usr/src/linux-headers-6.17.0-14-generic/scripts/Makefile.build:287: bootstrap/monLoader.o] Error 1
make[3]: *** [/usr/src/linux-headers-6.17.0-14-generic/Makefile:2016: .] Error 2
make[2]: *** [/usr/src/linux-headers-6.17.0-14-generic/Makefile:248: __sub-make] Error 2
make[1]: *** [Makefile:248: __sub-make] Error 2
make: *** [Makefile:117: vmmon.ko] Error 2
❌ Failed to build vmmon
❌ Build failed for vmmon. Aborting.
When attempting a fresh install of VMware-Workstation-Full-17.6.4-24832109.x86_64.bundle on Ubuntu 24.04.4 LTS running the 6.17.0-14-generic kernel, I receive the subject message when executing "sudo python3 vmware_module_builder.py".
To be sure, I executed "sudo vmware-installer -u vmware-workstation" followed by "sudo rm -rf /usr/lib/vmware/" and repeated the following steps:
The following is the output of the module builder: