- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
VMware Workstation Pro 16.1.0 doesnt complie vmmon and vmnet on CentOS Fusion 8(kernel 4.18.0-257)
I have updated from CentOS 8 to CentOS 8 stream, but I cannot compile vmmon and vmnet so VMware Workstation won't work.
Checking the message it is caused by totalram_pages
2020-12-12T10:59:17.345+09:00| host-4007| I005: /tmp/modconfig-Bn63vh/vmmon-only/linux/hostif.c: 関数 ‘HostIF_EstimateLockedPageLimit’ 内:
2020-12-12T10:59:17.345+09:00| host-4007| I005: /tmp/modconfig-Bn63vh/vmmon-only/linux/hostif.c:1683:25: エラー: ‘totalram_pages’ が異なる種類のシンボルとして再宣言されました
2020-12-12T10:59:17.345+09:00| host-4007| I005: extern unsigned long totalram_pages;
2020-12-12T10:59:17.345+09:00| host-4007| I005: ^~~~~~~~~~~~~~
2020-12-12T10:59:17.345+09:00| host-4007| I005: In file included from ./include/drm-backport/linux/mm.h:12,
2020-12-12T10:59:17.345+09:00| host-4007| I005: from /tmp/modconfig-Bn63vh/vmmon-only/linux/hostif.c:42:
2020-12-12T10:59:17.345+09:00| host-4007| I005: ./include/linux/mm.h:56:29: 備考: 前の ‘totalram_pages’ の宣言はここです
2020-12-12T10:59:17.345+09:00| host-4007| I005: static inline unsigned long totalram_pages(void)
2020-12-12T10:59:17.345+09:00| host-4007| I005: ^~~~~~~~~~~~~~
2020-12-12T10:59:17.345+09:00| host-4007| I005: make[2]: *** [scripts/Makefile.build:315: /tmp/modconfig-Bn63vh/vmmon-only/linux/hostif.o] エラー 1
Checking the 16.1.0 patch by mkubecek, it is same....
/home/may/vmware-host-modules-w16.1.0/vmmon-only/linux/hostif.c: In function 'HostIF_EstimateLockedPageLimit':
/home/may/vmware-host-modules-w16.1.0/vmmon-only/linux/hostif.c:1683:25: error: 'totalram_pages' redeclared as different kind of symbol
extern unsigned long totalram_pages;
^~~~~~~~~~~~~~
In file included from ./include/drm-backport/linux/mm.h:12,
from /home/may/vmware-host-modules-w16.1.0/vmmon-only/linux/hostif.c:42:
./include/linux/mm.h:56:29: note: previous definition of 'totalram_pages' was here
static inline unsigned long totalram_pages(void)
^~~~~~~~~~~~~~
make[3]: *** [scripts/Makefile.build:316: /home/may/vmware-host-modules-w16.1.0/vmmon-only/linux/hostif.o] Error 1
make[2]: *** [Makefile:1545: _module_/home/may/vmware-host-modules-w16.1.0/vmmon-only] Error 2
make[2]: Leaving directory '/usr/src/kernels/4.18.0-257.el8.x86_64'
make[1]: *** [Makefile:117: vmmon.ko] Error 2
make[1]: Leaving directory '/home/may/vmware-host-modules-w16.1.0/vmmon-only'
make: *** [Makefile:21: vmmon-only] Error 2
if any ideas/thoughts/advice please let me know.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Looks like CentOS 8 backported mainline commit ca79b0c211af ("mm: convert totalram_pages and totalhigh_pages variables to atomic") so that totalram_pages is a function even if kernel version is lower than 5.0. You might try changing the version check at the beginning of HostIF_EstimateLockedPageLimit() to something like
#if (LINUX_VERSION_CODE < KERNEL_VERSION(5, 0, 0)) && \
!(defined(RHEL_RELEASE_CODE) && \
(RHEL_RELEASE_CODE >= RHEL_RELEASE_VERSION(8, 0)))
extern unsigned long totalram_pages;
PageCnt totalPhysicalPages = totalram_pages;
#else
PageCnt totalPhysicalPages = totalram_pages();
#endif
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Thanks mkubecek, it works fine by adding your patch
make; make install; reboot the system; start-up from latest 4.18.0-257 for Cent Stream 8
https://www.mediafire.com/file/8aewukx843253ym/vmware-host-modules-w16.1.0_centos8stream.tar.gz/file
Thanks kind,
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Thank you very much,
however, I wondering why I didn't get this patch through the git pull?
by the way, it seems to be the same problem with vmware 15.5.7.
thank you again.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I didn't include the patch in my repository yet because I will need to check which RHEL/CentOS versions need the exception.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I added the patch to all relevant branches today but as I don't know which versions of RHEL / CentOS have the backport, there might be some problems so please report if something does not work as expected.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Thank you very much @mkubecek
There is still a problem (4.18.0-305.el8.x86_64). Any fix on this issue as well?
I couldn't find the patch for RHEL/CentOS in your GitHub repository. Could someone port this patch into the last 16.1.2 (VMware-Workstation-Full-16.1.2-17966106.x86_64.bundle) release?
/home/xxx/Downloads/vmware-host-modules-w16.1.0_centos8stream/vmware-host-modules-w16.1.0/vmmon-only/linux/hostif.c:1716:42: Fehler: »NR_SLAB_UNRECLAIMABLE« nicht deklariert (erstmalige Verwendung in dieser Funktion); meinten Sie »NR_SLAB_UNRECLAIMABLE_B«?
lockedPages += global_node_page_state(NR_SLAB_UNRECLAIMABLE);
^~~~~~~~~~~~~~~~~~~~~
NR_SLAB_UNRECLAIMABLE_B
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Please try current workstation-16.1.2 branch (commit 9dca32a8d8c8). This should address both this other problem with RHEL/CentOS >= 8.4 and the fact that that RHEL/CentOS <= 8.3 do not have the page accounting backports. I would like someone to make sure on an actual RHEL/CentOS that there are no other issues before I apply the same to other branches.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
16.1.2 build 17966106 cannot build the modules on RHEL 8.4. kernel 4.18.0-305.el8.x86_64.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi @mkubecek,
after downloading branch workstation-16-1-2 (make && sudo make install && sudo reboot) everything works great and as expected!
Many thanks again!
P.S:
System is as following:
Red Hat Enterprise Linux release 8.4 (Ootpa)
4.18.0-305.el8.x86_64
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
hi @mkubecek just build on my CentOS stream 8, I got the error, though just modified ‘NR_SLAB_UNRECLAIMABLE with NR_SLAB_UNRECLAIMABLE_B’ following the compiling instruction, it works.
[may@may-centos vmware-host-modules-workstation-16.1.2]$ make
make -C vmmon-only
make[1]: ディレクトリ '/home/may/tmp/vmware-host-modules-workstation-16.1.2/vmmon-only' に入ります
Using kernel build system.
make -C /lib/modules/4.18.0-301.1.el8.x86_64/build/include/.. SUBDIRS=$PWD SRCROOT=$PWD/. \
MODULEBUILDDIR= modules
make[2]: ディレクトリ '/usr/src/kernels/4.18.0-301.1.el8.x86_64' に入ります
CC [M] /home/may/tmp/vmware-host-modules-workstation-16.1.2/vmmon-only/linux/driver.o
CC [M] /home/may/tmp/vmware-host-modules-workstation-16.1.2/vmmon-only/linux/hostif.o
/home/may/tmp/vmware-host-modules-workstation-16.1.2/vmmon-only/linux/hostif.c: 関数 ‘HostIF_EstimateLockedPageLimit’ 内:
/home/may/tmp/vmware-host-modules-workstation-16.1.2/vmmon-only/linux/hostif.c:1727:42: エラー: ‘NR_SLAB_UNRECLAIMABLE’ undeclared (first use in this function); did you mean ‘NR_SLAB_UNRECLAIMABLE_B’?
lockedPages += global_node_page_state(NR_SLAB_UNRECLAIMABLE);
^~~~~~~~~~~~~~~~~~~~~
NR_SLAB_UNRECLAIMABLE_B
/home/may/tmp/vmware-host-modules-workstation-16.1.2/vmmon-only/linux/hostif.c:1727:42: 備考: 未宣言の識別子は出現した各関数内で一回のみ報告されます
make[3]: *** [scripts/Makefile.build:316: /home/may/tmp/vmware-host-modules-workstation-16.1.2/vmmon-only/linux/hostif.o] エラー 1
make[2]: *** [Makefile:1563: _module_/home/may/tmp/vmware-host-modules-workstation-16.1.2/vmmon-only] エラー 2
make[2]: ディレクトリ '/usr/src/kernels/4.18.0-301.1.el8.x86_64' から出ます
make[1]: *** [Makefile:117: vmmon.ko] エラー 2
make[1]: ディレクトリ '/home/may/tmp/vmware-host-modules-workstation-16.1.2/vmmon-only' から出ます
make: *** [Makefile:21: vmmon-only] エラー 2
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Works for me also. Thanks.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
This works great for me thanks!
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Thank you!
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Nice, This is work for me guy's. VMWare Workstation Pro 16.1.2 build-17966106 run on Kernel 4.18.0-305.el8.x86_64
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Having the issue on RHEL8 but company policy does not allow download of "patches" from github. Is there an eta when this fix will be applied to the VMWare provided installer?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
kernel: 4.18.0-331.el8.x86_64 o 4.18.0-326.el8.x86_64
workstation: 16.1.2
https://www.mediafire.com/folder/8xr9c6tw86f2g/workstation_16.1.2_Centos8
En el directorio, subi las modificacione sobre los originales y sobre el de github.
según recuerdo. Espero te funcionen.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Dumb question, but how do I get these files to overwrite the ones from the original installer?
Nevermind... found my answer.... Make // Make Install, then run....
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Newbie to Redhat and Linux in general here. Still learning a lot.
Can anyone explain to me what I need to do to get this patch working on my machines? I have lots of developers relying on RHEL8 and Workstation, and our main Linux guy is now gone. I understand using git to pull the files, but the make; make install is beyond my current knowledge. Thanks in advance.
Scratch this... I did myself a favor and read the INSTALL file. Lol
Scra
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Has this fix been incorporated into 16.2.0? There is no mention in the release notes I can see.