You are not logged in.
Since new kernel 3.0 update I cannot rebuild vmware modules
~ >>> sudo vmware-modconfig --console --install-all
Unable to initialize kernel module configuration
or start the Workstation
~ >>> vmware
Logging to /tmp/vmware-igor/setup-7740.log
Unable to initialize module building library
Does anybody know what's wrong?
Last edited by karabaja4 (2011-08-12 17:55:38)
Offline
Same here. This seems to be due to the kernel version being "3.0" instead of "3.0.0".
Recompiling the Kernel (and all modules based on it, e.g. nvidia) with
CONFIG_LOCALVERSION=".0-ARCH"
allows me to compile the modules and run VMware.
Offline
Please start threads in appropriate forums.
Moving to [testing]
There's no such thing as a stupid question, but there sure are a lot of inquisitive idiots !
Offline
Same here. This seems to be due to the kernel version being "3.0" instead of "3.0.0".
Recompiling the Kernel (and all modules based on it, e.g. nvidia) with
CONFIG_LOCALVERSION=".0-ARCH"
allows me to compile the modules and run VMware.
Sorry for my lack of knowledge, could you please explain exactly what steps you did to make it work?
Thank you.
Offline
kishi wrote:Same here. This seems to be due to the kernel version being "3.0" instead of "3.0.0".
Recompiling the Kernel (and all modules based on it, e.g. nvidia) with
CONFIG_LOCALVERSION=".0-ARCH"
allows me to compile the modules and run VMware.Sorry for my lack of knowledge, could you please explain exactly what steps you did to make it work?
Thank you.
Recompile the testing/linux-3.0 Package (and dependencies, as mentioned before) using the Arch Build System
(see https://wiki.archlinux.org/index.php/ABS). Before running makepkg edit the appropriate kernel config file
(config or config.x86_64) and change CONFIG_LOCALVERSION="-ARCH" to CONFIG_LOCALVERSION=".0-ARCH".
Last edited by kishi (2011-08-05 05:22:46)
Offline
I've tried to reproduce steps you offered, but in result:
==> Validating source files with md5sums...
linux-3.0.tar.bz2 ... Passed
patch-3.0.1.bz2 ... Passed
config ... FAILED
config.x86_64 ... Passed
linux.preset ... Passed
fix-i915.patch ... Passed
change-default-console-loglevel.patch ... Passed
==> ERROR: One or more files did not pass the validity check!
sorry, but how can i resolve this issue?
Offline
I've tried to reproduce steps you offered, but in result:
==> Validating source files with md5sums... linux-3.0.tar.bz2 ... Passed patch-3.0.1.bz2 ... Passed config ... FAILED config.x86_64 ... Passed linux.preset ... Passed fix-i915.patch ... Passed change-default-console-loglevel.patch ... Passed ==> ERROR: One or more files did not pass the validity check!
sorry, but how can i resolve this issue?
remove the md5sums array from the PKGBUILD and run "makepkg -g >> PKGBUILD".
another way to work around this is running makepkg with "--skipinteg".
Offline
Isn't it a bit ridiculous to recompile the entire kernel (and its dependencies) just because of VMware? I mean wouldnt time be better served trying to figure out exactly where VMware is looking for the number and try to change it there in its script?
I'm only asking because I'm needing this fix too, but I dont want to dirty my system by building all this stuff manually. I wouldn't mind doing just the kernel but its daunting to worry about all the dependencies.
Last edited by Mills00013 (2011-08-08 18:13:09)
Offline
You only have to rebuild the kernel - if you choose this method, that is.
However, I agree with you that the better solution would be to patch vmware to work with the Arch kernel.
Offline
You only have to rebuild the kernel - if you choose this method, that is.
However, I agree with you that the better solution would be to patch vmware to work with the Arch kernel.
Well, the program responsible for rebuilding modules, vmware-modconfig-console, is a BINARY, not a script, so I doubt it's fixable...
Offline
thanks for this post guys, I was having the same issue... recompiling now. this is one of my first times doing kernel recompile via ABS, gotta say I like it! I did this last night actually, and noticed it didn't work for me, upon further inspection I noticed the PKGBUILD grabs a new "config" and "config.x86_64" which is checked against md5sum (totally normal for PKGBUILDs). so an FYI to others that are new to rebuilding the kernel via ABS, make sure to edit the proper "config" or "config.x86_64" and update it as specified here => CONFIG_LOCALVERSION=".0-ARCH" then update the PKGBUILD with the new MD5sum. for reference my md5sums ::
>>> md5sum config config.x86_64
1761c95da5735cd99166e6eeca785a0a config
72eb94a50060415c5e1fd1fcc6acdad2 config.x86_64
-fnord0
UPDATE: w00t, it works for me -> thanks a ton kishi!
FYI, I had to rebuild 'nvidia' package from ABS changing these files ::
PKGBUILD: _kernver='3.0.0-ARCH'
nvidia.install: KERNEL_VERSION='3.0.0-ARCH'
nvidia.install: KERNEL_VERSION='3.0.0-ARCH'
nvidia.install: KERNEL_VERSION='3.0.0-ARCH'
Last edited by fnord0 (2011-08-09 01:54:52)
Offline
fnord0, so the only two packages you had to rebuild were nvidia and the kernel itself? You didnt have to do all of the dependencies?
Offline
Wouldnt it be more efficient, if the missing .0 is added in repos, so ppl only need to do pacman -Syu to fix this problem? This same thing might effect other products too in future, so shouldt Arch follow same standard naming as others?
Offline
Thanks for help: it really works!
I think it's not a good case to install new kernel form regular pacman update now, since it will break all severalhours compilation job.
I agree, would it be more efficient to change makepkg config for standard linux kernel binaries routines?
Last edited by enaqx (2011-08-10 07:36:35)
Offline
Please consider what you're asking for here. You want the Arch devs to modify the kernel package to support vmware, a closed source application.
Feel free to submit a feature request, but I can't see it happening. If I'm wrong, I promise I'll be happy for you.
Offline
This should no longer be a problem as the latest kernel is 3.0.1
---for there is nothing either good or bad, but only thinking makes it so....
Hamlet, W Shakespeare
Offline
Same here. This seems to be due to the kernel version being "3.0" instead of "3.0.0".
Recompiling the Kernel (and all modules based on it, e.g. nvidia) with
CONFIG_LOCALVERSION=".0-ARCH"
allows me to compile the modules and run VMware.
Works great for me. How did you discover that the problem was the 2-digit version?
Offline
This should no longer be a problem as the latest kernel is 3.0.1
I still had the issue after upgrading to 3.0 with the 3.0.1 patch. I was only able to build the modules after adding a version digit to CONFIG_LOCALVERSION and rebuilding.
Offline
This should no longer be a problem as the latest kernel is 3.0.1
It is, because 3.0.1 is still 3.0-ARCH. It's like 2.6.39.4 (the "4" being equivalent to "1").
Offline
Hi, I've been reading these forums since switched from slackware and gentoo to arch about 4 years ago. This is the first time I've been unable to fix a problem from searching here or the wiki
I'm having trouble installing vmware workstation.
So I recompiled the kernel and nvidia linking it to the .0-ARCH.
└⇥ uname -a
Linux myhost 3.0.0-ARCH #1 SMP PREEMPT Wed Aug 10 07:29:07 UTC 2011 x86_64 AMD Turion(tm) 64 X2 Mobile Technology TL-56 AuthenticAMD GNU/Linux
For the rest I followed the wiki to install vmware. Everything goes swimmingly until
└⇥ sudo vmware-modconfig --console --install-all
Password:
Stopping VMware services:
VMware USB Arbitrator done
VM communication interface socket family done
Virtual machine communication interface done
Virtual machine monitor done
Blocking file system done
Using 2.6.x kernel build system.
make: Entering directory `/tmp/vmware-root/modules/vmmon-only'
make -C /lib/modules/3.0.0-ARCH/build/include/.. SUBDIRS=$PWD SRCROOT=$PWD/. \
MODULEBUILDDIR= modules
make[1]: Entering directory `/usr/src/linux-3.0.0-ARCH'
CC [M] /tmp/vmware-root/modules/vmmon-only/linux/driver.o
/tmp/vmware-root/modules/vmmon-only/linux/driver.c:40:28: fatal error: linux/smp_lock.h: No such file or directory
compilation terminated.
make[2]: *** [/tmp/vmware-root/modules/vmmon-only/linux/driver.o] Error 1
make[1]: *** [_module_/tmp/vmware-root/modules/vmmon-only] Error 2
make[1]: Leaving directory `/usr/src/linux-3.0.0-ARCH'
make: *** [vmmon.ko] Error 2
make: Leaving directory `/tmp/vmware-root/modules/vmmon-only'
Unable to install vmmon
Does anyone have a suggestion of where to poke around?
Offline
@karabaja4 Sorry my post was not clear as I meant it should not be a problem for the devs to modify the package to make it kernel 3.0.0-arch as upstream is using three digits.
---for there is nothing either good or bad, but only thinking makes it so....
Hamlet, W Shakespeare
Offline
This is a quick-and-dirty fix I made to avoid having to recompile the kernel. Using an hexadecimal editor, replace 83e80383f8010f96c0 to 83e80283f8010f96c0 in files:
- /usr/lib/vmware/lib/libvmware-modconfig-console.so/libvmware-modconfig-console.so -> you can now build vmware modules using vmware-modconfig --console --install-all
- /usr/lib/vmware/lib/libvmware-modconfig.so/libvmware-modconfig.so -> you can now start the vmware GUI.
Works here with VMWare Workstation 7.1.4 build-385536 and Linux version 3.0-ARCH (thomas@evey).
Last edited by neves (2011-08-12 05:13:50)
Offline
@karabaja4 Sorry my post was not clear as I meant it should not be a problem for the devs to modify the package to make it kernel 3.0.0-arch as upstream is using three digits.
I think your post was clear - it's just that upstream are now using three digits instead of four. Arch used to drop the fourth digit (2.6.39.4 -> 2.6.39), so now Arch drops the third digit (3.0.1 -> 3.0). The reason that change is required has not changed.
Offline
@ neves
Worked great for me (VMWare Player 3.1.4 build-385536).
How did you know which byte to change? Are you a VMWare developer?
Thanks for the "quick and dirty" tip!
Offline
Worked great for me (VMWare Player 3.1.4 build-385536).
Nice
How did you know which byte to change? Are you a VMWare developer?
I used reverse engineering to understand that the problem was located in the function at offset 0x0006EA50: the sscanf function is used to parse an utsname structure (resulting from a call to the uname() function) with the %u.%u.%u.%u format. The original function checks if at least 3 values are returned, whereas the patched one is only waiting for 2. My first attempt was to use LD_PRELOAD to replace the return value of the uname() function; it was working but the kernel modules were created for a 3.0.0 kernel and so my 3.0 kernel simply refused to load them. Hence the patch:)
Offline