VMware Communities
babydr
Contributor
Contributor
Jump to solution

player 17.0.2 * linux-6.1.45 vmmon error: static assertion failed:

Hello All ,  Having I've a new system that I installed kernel 6.1.45 & Workstation Player 17.0.2 & the vmmon & vmnet modules are not compiling .  They give the following error .

Spoiler
/usr/lib/vmware/modules/source/vmmon-only# make Using kernel build system. make -C /lib/modules/6.1.45/build/include/.. M=$PWD SRCROOT=$PWD/. \ MODULEBUILDDIR= modules CC [M] /usr/lib/vmware/modules/source/vmmon-only/linux/driver.o In file included from /usr/lib/vmware/modules/source/vmmon-only/./include/cpu_types.h:29, from /usr/lib/vmware/modules/source/vmmon-only/./include/modulecall.h:33, from /usr/lib/vmware/modules/source/vmmon-only/./common/vmx86.h:33, from /usr/lib/vmware/modules/source/vmmon-only/linux/driver.h:32, from /usr/lib/vmware/modules/source/vmmon-only/linux/driver.c:47: /usr/lib/vmware/modules/source/vmmon-only/./include/vm_basic_defs.h:779: warning: "DO_ONCE" redefined 779 | #define DO_ONCE(code) \ | In file included from ./include/linux/random.h:9, from ./include/linux/nodemask.h:97, from ./include/linux/list_lru.h:12, from ./include/linux/fs.h:13, from ./include/linux/highmem.h:5, from /usr/lib/vmware/modules/source/vmmon-only/linux/driver.c:25: ./include/linux/once.h:46: note: this is the location of the previous definition 46 | #define DO_ONCE(func, ...) \ | In file included from /usr/lib/vmware/modules/source/vmmon-only/linux/driverLog.h:33, from /usr/lib/vmware/modules/source/vmmon-only/linux/driver.c:46: /usr/lib/vmware/modules/source/vmmon-only/linux/driver.c: In function âLinuxDriver_Ioctlâ: /usr/lib/vmware/modules/source/vmmon-only/./include/vm_assert.h:377:7: error: static assertion failed: "sizeof(long) == sizeof(int64)" 377 | _Static_assert(e, #e); \ | ^~~~~~~~~~~~~~ /usr/lib/vmware/modules/source/vmmon-only/linux/driver.c:708:4: note: in expansion of macro âASSERT_ON_COMPILEâ 708 | ASSERT_ON_COMPILE(sizeof(long) == sizeof(int64)); | ^~~~~~~~~~~~~~~~~ /usr/lib/vmware/modules/source/vmmon-only/linux/driver.c:772:34: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast] 772 | vm->vmhost->vmmonData = (void *__user)args.vmmonData; | ^ make[2]: *** [scripts/Makefile.build:250: /usr/lib/vmware/modules/source/vmmon-only/linux/driver.o] Error 1 make[1]: *** [Makefile:2012: /usr/lib/vmware/modules/source/vmmon-only] Error 2 make: *** [Makefile:117: vmmon.ko] Error 2
JimL -- +------------------------------------------------------------------+ | James W. Laferriere | System Techniques | Give me VMS | | Network&System Engineer | 3237 Holden Road | Give me Linux | | babydr@baby-dragons.com | Fairbanks, AK. 99709 | only on AXP | +------------------------------------------------------------------+
Reply
0 Kudos
2 Solutions

Accepted Solutions
babydr
Contributor
Contributor
Jump to solution

@mkubecek & all ,

Some where in that other system is definately something wrong with the kernel build environment .

This newly installed system had no problems installing ,  compiling the moduiles ,  & running .

I'd have to say that anyone seeing difficuties like those here ,   Check if somehow you've created a 32bit build environment .

I'll probably be replying again when I find out what the culprit is exactly & how to correct it ,  so people can move forward without reinstalling .

JimL -- +------------------------------------------------------------------+ | James W. Laferriere | System Techniques | Give me VMS | | Network&System Engineer | 3237 Holden Road | Give me Linux | | babydr@baby-dragons.com | Fairbanks, AK. 99709 | only on AXP | +------------------------------------------------------------------+

View solution in original post

Reply
0 Kudos
babydr
Contributor
Contributor
Jump to solution

@ All ,  It was a definately a 32bit problem in the previous attempts at installing Workstation player .

"Where I did  make mrproper & copying the "(Here is the critical part)" X86(32bit)  HUGE .config from -current &make oldconfig & make ALL , Just to make sure ."  I was unaware that the config was a 32bit version .  too find out I did a "file /usr/src/linux/vmlinux" which reported that this image was a 32Bit kernel image .

I then copied an appropriate x86_64 .config in the procedure mentioned above & all went well there after .

Hth ,  JimL

JimL -- +------------------------------------------------------------------+ | James W. Laferriere | System Techniques | Give me VMS | | Network&System Engineer | 3237 Holden Road | Give me Linux | | babydr@baby-dragons.com | Fairbanks, AK. 99709 | only on AXP | +------------------------------------------------------------------+

View solution in original post

Reply
0 Kudos
5 Replies
babydr
Contributor
Contributor
Jump to solution

@mkubecek.  With a pull ie: git clone vmware-host-modules  & git checkout workstation-17.0.2 today .

vmnet compiles with a bit of Warning noise ,  Tho vmmon errors .

ie:  git clone https://github.com/mkubecek/vmware-host-modules.git

git checkout workstation-17.0.2

Spoiler
~/vmware-host-modules# cd vmnet-only/
~/vmware-host-modules/vmnet-only# make
Using kernel build system.
make -C /lib/modules/6.1.45/build/include/.. M=$PWD SRCROOT=$PWD/. \
MODULEBUILDDIR= modules
CC [M] /root/vmware-host-modules-workstation-17.0.2/vmware-host-modules/vmnet-only/driver.o
CC [M] /root/vmware-host-modules-workstation-17.0.2/vmware-host-modules/vmnet-only/hub.o
CC [M] /root/vmware-host-modules-workstation-17.0.2/vmware-host-modules/vmnet-only/userif.o
CC [M] /root/vmware-host-modules-workstation-17.0.2/vmware-host-modules/vmnet-only/netif.o
CC [M] /root/vmware-host-modules-workstation-17.0.2/vmware-host-modules/vmnet-only/bridge.o
CC [M] /root/vmware-host-modules-workstation-17.0.2/vmware-host-modules/vmnet-only/procfs.o
CC [M] /root/vmware-host-modules-workstation-17.0.2/vmware-host-modules/vmnet-only/smac_compat.o
CC [M] /root/vmware-host-modules-workstation-17.0.2/vmware-host-modules/vmnet-only/smac.o
/root/vmware-host-modules/vmnet-only/smac.c: In function ‘TrimLookupTableIfNecessary’:
/root/vmware-host-modules-workstation-17.0.2/vmware-host-modules/vmnet-only/smac.c:1050:34: warning: conversion from ‘long long unsigned int’ to ‘SmacLastAccess’ {aka ‘long unsigned int’} changes value from ‘18446744073709551615’ to ‘4294967295’ [-Woverflow]
1050 | SmacLastAccess oldestUpdate = (uint64)~0; // age of oldest entry
| ^
CC [M] /root/vmware-host-modules-workstation-17.0.2/vmware-host-modules/vmnet-only/vnetEvent.o
CC [M] /root/vmware-host-modules-workstation-17.0.2/vmware-host-modules/vmnet-only/vnetUserListener.o
LD [M] /root/vmware-host-modules-workstation-17.0.2/vmware-host-modules/vmnet-only/vmnet.o
MODPOST /root/vmware-host-modules-workstation-17.0.2/vmware-host-modules/vmnet-only/Module.symvers
CC [M] /root/vmware-host-modules-workstation-17.0.2/vmware-host-modules/vmnet-only/vmnet.mod.o
LD [M] /root/vmware-host-modules-workstation-17.0.2/vmware-host-modules/vmnet-only/vmnet.ko
make -C $PWD SRCROOT=$PWD/. \
MODULEBUILDDIR= postbuild
make[1]: Entering directory '/root/vmware-host-modules-workstation-17.0.2/vmware-host-modules/vmnet-only'
make[1]: 'postbuild' is up to date.
make[1]: Leaving directory '/root/vmware-host-modules-workstation-17.0.2/vmware-host-modules/vmnet-only'
cp -f vmnet.ko ./../vmnet.o

 

Spoiler

~/vmware-host-modules-workstation-17.0.2/vmware-host-modules/vmnet-only# cd ../vmmon-only/

~/vmware-host-modules-workstation-17.0.2/vmware-host-modules/vmmon-only# make
Using kernel build system.
make -C /lib/modules/6.1.45/build/include/.. M=$PWD SRCROOT=$PWD/. \
MODULEBUILDDIR= modules
CC [M] /root/vmware-host-modules-workstation-17.0.2/vmware-host-modules/vmmon-only/linux/driver.o
In file included from /root/vmware-host-modules-workstation-17.0.2/vmware-host-modules/vmmon-only/linux/driverLog.h:33,
from /root/vmware-host-modules-workstation-17.0.2/vmware-host-modules/vmmon-only/linux/driver.c:46:
/root/vmware-host-modules-workstation-17.0.2/vmware-host-modules/vmmon-only/linux/driver.c: In function ‘LinuxDriver_Ioctl’:
/root/vmware-host-modules-workstation-17.0.2/vmware-host-modules/vmmon-only/./include/vm_assert.h:378:7: error: static assertion failed: "sizeof(long) == sizeof(int64)"
378 | _Static_assert(e, #e); \
| ^~~~~~~~~~~~~~
/root/vmware-host-modules-workstation-17.0.2/vmware-host-modules/vmmon-only/linux/driver.c:708:4: note: in expansion of macro ‘ASSERT_ON_COMPILE’
708 | ASSERT_ON_COMPILE(sizeof(long) == sizeof(int64));
| ^~~~~~~~~~~~~~~~~
/root/vmware-host-modules-workstation-17.0.2/vmware-host-modules/vmmon-only/linux/driver.c:772:34: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
772 | vm->vmhost->vmmonData = (void *__user)args.vmmonData;
| ^
make[2]: *** [scripts/Makefile.build:250: /root/vmware-host-modules-workstation-17.0.2/vmware-host-modules/vmmon-only/linux/driver.o] Error 1
make[1]: *** [Makefile:2012: /root/vmware-host-modules-workstation-17.0.2/vmware-host-modules/vmmon-only] Error 2
make: *** [Makefile:117: vmmon.ko] Error 2

 

JimL -- +------------------------------------------------------------------+ | James W. Laferriere | System Techniques | Give me VMS | | Network&System Engineer | 3237 Holden Road | Give me Linux | | babydr@baby-dragons.com | Fairbanks, AK. 99709 | only on AXP | +------------------------------------------------------------------+
Reply
0 Kudos
mkubecek
Hot Shot
Hot Shot
Jump to solution

The only explanation of these warnings and errors I could come with would be that you are building on 32-bit architecture (or against a 32-bit kernel). As VMware does not support 32-bit CPUs (or host kernels) for quite some time, that is not really supposed to work.

Reply
0 Kudos
babydr
Contributor
Contributor
Jump to solution

@mkubecek

Thank you for responding .

I don't beleive that the kernel is 32 bit .  Tho there maybe some 32bit crud hanging around .  I should have added the output of ver_linux .  Which I am not able to at the moment . As I am installing a fresh install of the Slackware-current distribution .  And that is definately x86_64 as are my amd EPYC-7542 cpu's .

When I finish with this install I'll try doing the vmware install on this system and report back .

Tnx Agn ,  JimL

JimL -- +------------------------------------------------------------------+ | James W. Laferriere | System Techniques | Give me VMS | | Network&System Engineer | 3237 Holden Road | Give me Linux | | babydr@baby-dragons.com | Fairbanks, AK. 99709 | only on AXP | +------------------------------------------------------------------+
Reply
0 Kudos
babydr
Contributor
Contributor
Jump to solution

@mkubecek & all ,

Some where in that other system is definately something wrong with the kernel build environment .

This newly installed system had no problems installing ,  compiling the moduiles ,  & running .

I'd have to say that anyone seeing difficuties like those here ,   Check if somehow you've created a 32bit build environment .

I'll probably be replying again when I find out what the culprit is exactly & how to correct it ,  so people can move forward without reinstalling .

JimL -- +------------------------------------------------------------------+ | James W. Laferriere | System Techniques | Give me VMS | | Network&System Engineer | 3237 Holden Road | Give me Linux | | babydr@baby-dragons.com | Fairbanks, AK. 99709 | only on AXP | +------------------------------------------------------------------+
Reply
0 Kudos
babydr
Contributor
Contributor
Jump to solution

@ All ,  It was a definately a 32bit problem in the previous attempts at installing Workstation player .

"Where I did  make mrproper & copying the "(Here is the critical part)" X86(32bit)  HUGE .config from -current &make oldconfig & make ALL , Just to make sure ."  I was unaware that the config was a 32bit version .  too find out I did a "file /usr/src/linux/vmlinux" which reported that this image was a 32Bit kernel image .

I then copied an appropriate x86_64 .config in the procedure mentioned above & all went well there after .

Hth ,  JimL

JimL -- +------------------------------------------------------------------+ | James W. Laferriere | System Techniques | Give me VMS | | Network&System Engineer | 3237 Holden Road | Give me Linux | | babydr@baby-dragons.com | Fairbanks, AK. 99709 | only on AXP | +------------------------------------------------------------------+
Reply
0 Kudos