[go: nahoru, domu]

Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Unable to compile 17.5.1 on Pop!OS with Kernel 6.9.3 #259

Open
hferguson opened this issue Jun 26, 2024 · 8 comments
Open

Unable to compile 17.5.1 on Pop!OS with Kernel 6.9.3 #259

hferguson opened this issue Jun 26, 2024 · 8 comments

Comments

@hferguson
Copy link

The upgrade was foisted on me, and VMWare didn't complain until my last reboot. When I do the usual steps in this project
I get the following error stack. I saw a solution for users with 17.5.2, but I can't even get that edition since the VMWare broadcom takeover. Here's the log from the compilation:

hugh@nerdix:/projects/vmware/vmware-host-modules-workstation-17.5.1$ sudo make
[sudo] password for hugh:
make -C vmmon-only
make[1]: Entering directory '/home/hugh/projects/vmware/vmware-host-modules-workstation-17.5.1/vmmon-only'
Using kernel build system.
make -C /lib/modules/6.9.3-76060903-generic/build/include/.. M=$PWD SRCROOT=$PWD/.
MODULEBUILDDIR= modules
make[2]: Entering directory '/usr/src/linux-headers-6.9.3-76060903-generic'
warning: the compiler differs from the one used to build the kernel
The kernel was built by: x86_64-linux-gnu-gcc-12 (Ubuntu 12.3.0-1ubuntu1
22.04) 12.3.0
You are using: gcc-12 (Ubuntu 12.3.0-1ubuntu122.04) 12.3.0
CC [M] /home/hugh/projects/vmware/vmware-host-modules-workstation-17.5.1/vmmon-only/linux/driver.o
CC [M] /home/hugh/projects/vmware/vmware-host-modules-workstation-17.5.1/vmmon-only/linux/driverLog.o
CC [M] /home/hugh/projects/vmware/vmware-host-modules-workstation-17.5.1/vmmon-only/linux/hostif.o
CC [M] /home/hugh/projects/vmware/vmware-host-modules-workstation-17.5.1/vmmon-only/common/apic.o
CC [M] /home/hugh/projects/vmware/vmware-host-modules-workstation-17.5.1/vmmon-only/common/comport.o
CC [M] /home/hugh/projects/vmware/vmware-host-modules-workstation-17.5.1/vmmon-only/common/cpuid.o
CC [M] /home/hugh/projects/vmware/vmware-host-modules-workstation-17.5.1/vmmon-only/common/crosspage.o
CC [M] /home/hugh/projects/vmware/vmware-host-modules-workstation-17.5.1/vmmon-only/common/memtrack.o
CC [M] /home/hugh/projects/vmware/vmware-host-modules-workstation-17.5.1/vmmon-only/common/moduleloop.o
CC [M] /home/hugh/projects/vmware/vmware-host-modules-workstation-17.5.1/vmmon-only/common/phystrack.o
CC [M] /home/hugh/projects/vmware/vmware-host-modules-workstation-17.5.1/vmmon-only/common/sharedAreaVmmon.o
CC [M] /home/hugh/projects/vmware/vmware-host-modules-workstation-17.5.1/vmmon-only/common/statVarsVmmon.o
CC [M] /home/hugh/projects/vmware/vmware-host-modules-workstation-17.5.1/vmmon-only/common/task.o
CC [M] /home/hugh/projects/vmware/vmware-host-modules-workstation-17.5.1/vmmon-only/common/vmx86.o
CC [M] /home/hugh/projects/vmware/vmware-host-modules-workstation-17.5.1/vmmon-only/bootstrap/bootstrap.o
CC [M] /home/hugh/projects/vmware/vmware-host-modules-workstation-17.5.1/vmmon-only/bootstrap/monLoader.o
CC [M] /home/hugh/projects/vmware/vmware-host-modules-workstation-17.5.1/vmmon-only/bootstrap/monLoaderVmmon.o
CC [M] /home/hugh/projects/vmware/vmware-host-modules-workstation-17.5.1/vmmon-only/bootstrap/vmmblob.o
LD [M] /home/hugh/projects/vmware/vmware-host-modules-workstation-17.5.1/vmmon-only/vmmon.o
MODPOST /home/hugh/projects/vmware/vmware-host-modules-workstation-17.5.1/vmmon-only/Module.symvers
CC [M] /home/hugh/projects/vmware/vmware-host-modules-workstation-17.5.1/vmmon-only/vmmon.mod.o
LD [M] /home/hugh/projects/vmware/vmware-host-modules-workstation-17.5.1/vmmon-only/vmmon.ko
BTF [M] /home/hugh/projects/vmware/vmware-host-modules-workstation-17.5.1/vmmon-only/vmmon.ko
Skipping BTF generation for /home/hugh/projects/vmware/vmware-host-modules-workstation-17.5.1/vmmon-only/vmmon.ko due to unavailability of vmlinux
make[2]: Leaving directory '/usr/src/linux-headers-6.9.3-76060903-generic'
make -C $PWD SRCROOT=$PWD/.
MODULEBUILDDIR= postbuild
make[2]: Entering directory '/home/hugh/projects/vmware/vmware-host-modules-workstation-17.5.1/vmmon-only'
make[2]: 'postbuild' is up to date.
make[2]: Leaving directory '/home/hugh/projects/vmware/vmware-host-modules-workstation-17.5.1/vmmon-only'
cp -f vmmon.ko ./../vmmon.o
make[1]: Leaving directory '/home/hugh/projects/vmware/vmware-host-modules-workstation-17.5.1/vmmon-only'
make -C vmnet-only
make[1]: Entering directory '/home/hugh/projects/vmware/vmware-host-modules-workstation-17.5.1/vmnet-only'
Using kernel build system.
make -C /lib/modules/6.9.3-76060903-generic/build/include/.. M=$PWD SRCROOT=$PWD/.
MODULEBUILDDIR= modules
make[2]: Entering directory '/usr/src/linux-headers-6.9.3-76060903-generic'
warning: the compiler differs from the one used to build the kernel
The kernel was built by: x86_64-linux-gnu-gcc-12 (Ubuntu 12.3.0-1ubuntu1
22.04) 12.3.0
You are using: gcc-12 (Ubuntu 12.3.0-1ubuntu122.04) 12.3.0
CC [M] /home/hugh/projects/vmware/vmware-host-modules-workstation-17.5.1/vmnet-only/driver.o
CC [M] /home/hugh/projects/vmware/vmware-host-modules-workstation-17.5.1/vmnet-only/hub.o
CC [M] /home/hugh/projects/vmware/vmware-host-modules-workstation-17.5.1/vmnet-only/userif.o
CC [M] /home/hugh/projects/vmware/vmware-host-modules-workstation-17.5.1/vmnet-only/netif.o
CC [M] /home/hugh/projects/vmware/vmware-host-modules-workstation-17.5.1/vmnet-only/bridge.o
In file included from ./include/linux/spinlock.h:305,
from ./include/linux/sched.h:2138,
from /home/hugh/projects/vmware/vmware-host-modules-workstation-17.5.1/vmnet-only/bridge.c:25:
/home/hugh/projects/vmware/vmware-host-modules-workstation-17.5.1/vmnet-only/bridge.c: In function ‘VNetBridgeReceiveFromVNet’:
/home/hugh/projects/vmware/vmware-host-modules-workstation-17.5.1/vmnet-only/vmnetInt.h:44:39: error: ‘dev_base_lock’ undeclared (first use in this function); did you mean ‘device_lock’?
44 | #define dev_lock_list() read_lock(&dev_base_lock)
| ^~~~~~~~~~~~~
./include/linux/rwlock.h:56:48: note: in definition of macro ‘read_lock’
56 | #define read_lock(lock) _raw_read_lock(lock)
| ^~~~
/home/hugh/projects/vmware/vmware-host-modules-workstation-17.5.1/vmnet-only/bridge.c:587:4: note: in expansion of macro ‘dev_lock_list’
587 | dev_lock_list();
| ^~~~~~~~~~~~~
/home/hugh/projects/vmware/vmware-host-modules-workstation-17.5.1/vmnet-only/vmnetInt.h:44:39: note: each undeclared identifier is reported only once for each function it appears in
44 | #define dev_lock_list() read_lock(&dev_base_lock)
| ^~~~~~~~~~~~~
./include/linux/rwlock.h:56:48: note: in definition of macro ‘read_lock’
56 | #define read_lock(lock) _raw_read_lock(lock)
| ^~~~
/home/hugh/projects/vmware/vmware-host-modules-workstation-17.5.1/vmnet-only/bridge.c:587:4: note: in expansion of macro ‘dev_lock_list’
587 | dev_lock_list();
| ^~~~~~~~~~~~~
/home/hugh/projects/vmware/vmware-host-modules-workstation-17.5.1/vmnet-only/bridge.c: In function ‘VNetBridgeUp’:
/home/hugh/projects/vmware/vmware-host-modules-workstation-17.5.1/vmnet-only/vmnetInt.h:44:39: error: ‘dev_base_lock’ undeclared (first use in this function); did you mean ‘device_lock’?
44 | #define dev_lock_list() read_lock(&dev_base_lock)
| ^~~~~~~~~~~~~
./include/linux/rwlock.h:56:48: note: in definition of macro ‘read_lock’
56 | #define read_lock(lock) _raw_read_lock(lock)
| ^~~~
/home/hugh/projects/vmware/vmware-host-modules-workstation-17.5.1/vmnet-only/bridge.c:902:4: note: in expansion of macro ‘dev_lock_list’
902 | dev_lock_list();
| ^~~~~~~~~~~~~
make[4]: *** [scripts/Makefile.build:244: /home/hugh/projects/vmware/vmware-host-modules-workstation-17.5.1/vmnet-only/bridge.o] Error 1
make[3]: *** [/usr/src/linux-headers-6.9.3-76060903-generic/Makefile:1925: /home/hugh/projects/vmware/vmware-host-modules-workstation-17.5.1/vmnet-only] Error 2
make[2]: *** [Makefile:240: __sub-make] Error 2
make[2]: Leaving directory '/usr/src/linux-headers-6.9.3-76060903-generic'
make[1]: *** [Makefile:117: vmnet.ko] Error 2
make[1]: Leaving directory '/home/hugh/projects/vmware/vmware-host-modules-workstation-17.5.1/vmnet-only'
make: *** [Makefile:21: vmnet-only] Error 2
hugh@nerdix:
/projects/vmware/vmware-host-modules-workstation-17.5.1$ cd ..
hugh@nerdix:~/projects/vmware$ uname -r
6.9.3-76060903-generic

@robertstrom
Copy link
robertstrom commented Jun 26, 2024

See this thread - #250

I was able to get things working on Pop!_OS using the modified project forked form this project that is mentioned in the linked thread above. The screenshot below shows the cloned git directory within the 17.5.1 directory cloned from this project (you don't need to clone the other project to that location. I was just there when I cloned it). The only thing that I can see that does not work is the vmware-netcfg. You will not be able to create, or modify, networks with this fix at this time.

Direct link to the other project mentioned is - https://github.com/nan0desu/vmware-host-modules/tree/tmp/workstation-17.5.2-k6.9.1/vmnet-only

HTH,

image

image

@hferguson
Copy link
Author

See this thread - #250

I was able to get things working on Pop!_OS using the modified project forked form this project that is mentioned in the linked thread above. The screenshot below shows the cloned git directory within the 17.5.1 directory cloned from this project (you don't need to clone the other project to that location. I was just there when I cloned it). The only thing that I can see that does not work is the vmware-netcfg. You will not be able to create, or modify, networks with this fix at this time.

Thanks for this. I decided this time around to roll back to the 6.8 kernel as it was faster and more to the point, reversible. I'll be watching this space to see how others progress. I'm now thinking I don't dare upgrade to the 17.5.2 version from 17.5.1. Geez! what happened to VMWare?!? If I didn't know better, Broadcom bought it to destroy the product.

@xvador
Copy link
xvador commented Jun 28, 2024

The upgrade was foisted on me, and VMWare didn't complain until my last reboot. When I do the usual steps in this project I get the following error stack. I saw a solution for users with 17.5.2, but I can't even get that edition since the VMWare broadcom takeover. Here's the log from the compilation:

That might help you with older versions: https://support.broadcom.com/group/ecx/productdownloads?subfamily=VMware+Workstation+Pro

@qabpea
Copy link
qabpea commented Jul 2, 2024

it looks like dev_base_lock has been removed from the kernel https://review.lttng.org/c/lttng-modules/+/12178/4

I will lock at what is used instead and have a look tomorrow

@cwilliams001
Copy link

Was able to use the below from #257 to successfully get vmware version 17.5.2 to work with Pop_OS.

git clone -b tmp/workstation-17.5.2-k6.9.1 https://github.com/nan0desu/vmware-host-modules.git cd vmware-host-modules/ sudo make tarballs && sudo cp -v vmmon.tar vmnet.tar /usr/lib/vmware/modules/source/ sudo vmware-modconfig --console --install-all

@qabpea
Copy link
qabpea commented Jul 3, 2024

vmnet-only/vnetInt.h needs to be updated with something like this for the definition of the dev locks

#if LINUX_VERSION_CODE >= KERNEL_VERSION(6, 9, 0)
#  define dev_lock_list()    rcu_read_lock()
#  define dev_unlock_list()  rcu_read_unlock()
#else
#  define dev_lock_list()    read_lock(&dev_base_lock)
#  define dev_unlock_list()  read_unlock(&dev_base_lock)
#endif

@jreo
Copy link
jreo commented Jul 6, 2024

vmnet-only/vnetInt.h needs to be updated with something like this for the definition of the dev locks

#if LINUX_VERSION_CODE >= KERNEL_VERSION(6, 9, 0)
#  define dev_lock_list()    rcu_read_lock()
#  define dev_unlock_list()  rcu_read_unlock()
#else
#  define dev_lock_list()    read_lock(&dev_base_lock)
#  define dev_unlock_list()  read_unlock(&dev_base_lock)
#endif

Exactly. Minor correction, and it works perfectly. Thanks for sharing.

@namher-sec
Copy link

Was able to use the below from #257 to successfully get vmware version 17.5.2 to work with Pop_OS.

git clone -b tmp/workstation-17.5.2-k6.9.1 https://github.com/nan0desu/vmware-host-modules.git cd vmware-host-modules/ sudo make tarballs && sudo cp -v vmmon.tar vmnet.tar /usr/lib/vmware/modules/source/ sudo vmware-modconfig --console --install-all

Thank you so much. This worked

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

7 participants