VMware Communities > VMTN > Desktop Products > VMware Workstation > Documents

vmware-config fails in compile on Ubuntu hardy heron 8.04 (kernel 2.6.24)

VERSION 2 Published

Created on: Mar 21, 2008 3:49 PM by DirkKoopman - Last Modified:  Mar 21, 2008 3:53 PM by Guest


Vmware modules fail to compile from workstation-6.0.3-80004 in Ubuntu Hardy Heron 8.04 on a 2.6.24 kernel.

None of the pre-built vmmon modules for VMware Workstation is suitable for your
running kernel. Do you want this program to try to build the vmmon module for
your system (you need to have a C compiler installed on your system)? yes
Using compiler "/usr/bin/gcc". Use environment variable CC to override.

What is the location of the directory of C header files that match your running
kernel? [/lib/modules/2.6.24-12-generic/build/include]

Extracting the sources of the vmmon module.

Building the vmmon module.

Using 2.6.x kernel build system.
make: Entering directory `/tmp/vmware-config2/vmmon-only'
make -C /lib/modules/2.6.24-12-generic/build/include/.. SUBDIRS=$PWD SRCROOT=$PWD/. modules
make[1]: Entering directory `/usr/src/linux-headers-2.6.24-12-generic'
CC [M] /tmp/vmware-config2/vmmon-only/linux/driver.o
CC [M] /tmp/vmware-config2/vmmon-only/linux/hostif.o
CC [M] /tmp/vmware-config2/vmmon-only/common/comport.o
CC [M] /tmp/vmware-config2/vmmon-only/common/cpuid.o
In file included from include/asm/bitops.h:2,
from /tmp/vmware-config2/vmmon-only/./include/vcpuset.h:74,
from /tmp/vmware-config2/vmmon-only/./include/modulecall.h:23,
from /tmp/vmware-config2/vmmon-only/common/vmx86.h:18,
from /tmp/vmware-config2/vmmon-only/common/hostif.h:18,
from /tmp/vmware-config2/vmmon-only/common/cpuid.c:14:
include/asm/bitops_32.h:9:2: error: #error only <linux/bitops.h> can be included directly
make[2]: *** [/tmp/vmware-config2/vmmon-only/common/cpuid.o] Error 1
make[1]: *** _module_/tmp/vmware-config2/vmmon-only Error 2
make[1]: Leaving directory `/usr/src/linux-headers-2.6.24-12-generic'
make: *** http://vmmon.ko Error 2
make: Leaving directory `/tmp/vmware-config2/vmmon-only'
Unable to build the vmmon module.

Average User Rating
(0 ratings)




Mar 21, 2008 4:18 PM DirkKoopman  says:

fixing it is quite easy.

1. untar /usr/lib/vmware/modules/source/vmmon.tar in somewhere like /tmp
2. edit vmmon-only/include/vcpuset.h

change line 74 from asm/bitops.h to linux/bitops.h

3. tar cvf vmmon.tar vmmon-only
4. mv /usr/lib/vmware/modules/source/vmmon.tar /usr/lib/vmware/modules/source/vmmon.tar.orig
5. cp vmmon.tar /usr/lib/vmware/modules/source

and try vmware-config.pl again.

It works for me.

Apr 1, 2008 12:15 AM neilford  says: in response to: DirkKoopman

Thanks. That worked.

neilford

Apr 2, 2008 12:12 AM codfather  says: in response to: neilford

I have also tested this with VMware-player-2.0.3-80004.i386.tgz and this procedure works with that as well.

Cod

Apr 8, 2008 1:12 AM jhohn  says: in response to: codfather

Does NOT work with VMWare-Server for me

Apr 8, 2008 1:14 AM jhohn  says: in response to: jhohn

sorry, I get other errors now, have to check first ...

Apr 11, 2008 8:11 PM wayneh07  says:

I'm having the same problem, and after editing that file and retrying config.pl, I get the following error.

Building the vmmon module.

Using 2.6.x kernel build system.
make: Entering directory `/tmp/vmware-config3/vmmon-only'
make -C /lib/modules/2.6.24-16-generic/build/include/.. SUBDIRS=$PWD SRCROOT=$PWD/. modules
make[1]: Entering directory `/usr/src/linux-headers-2.6.24-16-generic'
CC [M] /tmp/vmware-config3/vmmon-only/linux/driver.o
In file included from /tmp/vmware-config3/vmmon-only/./include/vmware.h:25,
from /tmp/vmware-config3/vmmon-only/linux/driver.c:48:
/tmp/vmware-config3/vmmon-only/./include/vm_basic_types.h:161: error: conflicting types for ‘uintptr_t’
include/linux/types.h:40: error: previous declaration of ‘uintptr_t’ was here
In file included from /tmp/vmware-config3/vmmon-only/linux/driver.h:20,
from /tmp/vmware-config3/vmmon-only/linux/driver.c:49:
/tmp/vmware-config3/vmmon-only/./include/compat_wait.h:37:5: warning: "VMW_HAVE_EPOLL" is not defined
/tmp/vmware-config3/vmmon-only/./include/compat_wait.h:43:5: warning: "VMW_HAVE_EPOLL" is not defined
In file included from /tmp/vmware-config3/vmmon-only/linux/driver.h:20,
from /tmp/vmware-config3/vmmon-only/linux/driver.c:49:
/tmp/vmware-config3/vmmon-only/./include/compat_wait.h:60: error: conflicting types for ‘poll_initwait’
include/linux/poll.h:65: error: previous declaration of ‘poll_initwait’ was here
/tmp/vmware-config3/vmmon-only/linux/driver.c:147: warning: initialisation from incompatible pointer type
/tmp/vmware-config3/vmmon-only/linux/driver.c:151: warning: initialisation from incompatible pointer type
/tmp/vmware-config3/vmmon-only/linux/driver.c: In function ‘LinuxDriver_Ioctl’:
/tmp/vmware-config3/vmmon-only/linux/driver.c:1659: error: ‘struct mm_struct’ has no member named ‘dumpable’
make[2]: *** [/tmp/vmware-config3/vmmon-only/linux/driver.o] Error 1
make[1]: *** _module_/tmp/vmware-config3/vmmon-only Error 2
make[1]: Leaving directory `/usr/src/linux-headers-2.6.24-16-generic'
make: *** http://vmmon.ko Error 2
make: Leaving directory `/tmp/vmware-config3/vmmon-only'
Unable to build the vmmon module.

For more information on how to troubleshoot module-related problems, please
visit our Web site at "http://www.vmware.com/download/modules/modules.html" and
"http://www.vmware.com/support/reference/linux/prebuilt_modules_linux.html".

Execution aborted.

If someone can shine some light on this I'd really appreciate it.

Apr 11, 2008 10:20 PM wayneh07  says:

I did find this solution, which got me most of the way there. http://ubuntuforums.org/showthread.php?p=4700821&posted=1#post4700821 - The guts of the posting is shown below.

Originally Posted by timholum View Post
I got vmware-server to work in 8.04 i will try to recall the steps ( it was last night so they are somewhat fresh )

step 1 ) sudo bash ( note sudo su always exits for some reason )
step 2 ) apt-get install build-essential
step 3 ) download vmware-server 1.0.5.tar.gz
step 4 ) extract it to the desktop
step 5 ) go to http://groups.google.com/group/vmker...es/files?hl=en and download patch 116 ( i did not get the wireless bridge one but it should work also )

step 6 ) extract the patch to desktop
step 7 ) cd Desktop/vmware-server-distrib
step 8 ) ./vmware-install.pl Keep all the defaults and do everything until it asks if you want to compile the kernel then say no ( if you say yes it is not that big of a deal it will just fail )

step 9 ) cd ../vmware-any-any-update116/
step 10 ) ./runme.pl make sure to say yes to compile kernel and follow defaults

      • This is the step i had trouble finding ***
step 11 )
cp /lib/libgcc_s.so.1 /usr/lib/vmware/lib/libgcc_s.so.1/
cp /usr/lib/libpng12.so.0 /usr/lib/vmware/lib/libpng12.so.0/

I followed all these instructions and it all went through okay, but when I execute it, I get "Vmware server starting" it thinks about it for a while then just goes away.

Apr 14, 2008 6:23 PM kattrap  says:

Worked great on current Hardy Beta (4/14/08). Thanks!

Apr 15, 2008 1:53 PM dolphans1  says: in response to: kattrap

I guess I am gonna wait till they come up with an official fix to this, I will keep following this post. I hope VMware programmers fix this soon.....

d-1

Apr 16, 2008 6:59 AM dolphans1  says: in response to: dolphans1

I tried your plan and I get this below:

What is the location of the directory of C header files that match your running
kernel? [/usr/src/linux/include]

The path "/usr/src/linux/include" is a kernel header file directory, but it
does not contain the file "linux/version.h" as expected. This can happen if
the kernel has never been built, or if you have invoked the "make mrproper"
command in your kernel directory. In any case, you may want to rebuild your
kernel.

What is the location of the directory of C header files that match your running
kernel? [/usr/src/linux/include]

d-1

Apr 16, 2008 8:53 AM codfather  says: in response to: dolphans1

Thats because you need to go into synaptic package manager and add the kernel headers files.

At a terminal session type "uname -a" and make a note of the kernel you are running.

Then in synatic select the kernel headers to install.

So if you are running the 2.6.24.12 kernel, you install the headers that are appropriate to that, ie
linux-headers-2.6.24-12.

All of the versions of Hardy Heron(8.04) I have installed have also installed the headers, strange.

That will cure that error message.

Cod

May 12, 2008 12:53 AM teq2  says:

Worked out for Mandriva 2008.1 with Kernel 2.6.24.4 as well. Thanks

May 14, 2008 9:01 AM jdcharlton  says: in response to: wayneh07

Thank you. This worked for me on kubuntu Hardy 8.04 but the link for the 116 patch was shortened so I had to do another search to get the actual link:
http://groups.google.com/group/vmkernelnewbies/files?hl=en
I followed your procedure with the 116 patch and the configuration went smoothly after that.

May 14, 2008 10:21 AM DavidDudek  says: in response to: DirkKoopman

Thank you! That worked for me!

May 19, 2008 4:35 PM malacosteus  says: in response to: dolphans1

I tried everything if this thread but when I am compiling I still get:

What is the location of the directory of C header files that match your running
kernel? [/lib/modules/2.6.24-16-generic/build/include]

Extracting the sources of the vmmon module.

Building the vmmon module.

Building for VMware Server 1.0.0.
Using 2.6.x kernel build system.
make: se ingresa al directorio `/tmp/vmware-config6/vmmon-only'
make -C /lib/modules/2.6.24-16-generic/build/include/.. SUBDIRS=$PWD SRCROOT=$PWD/. modules
make[1]: se ingresa al directorio `/usr/src/linux-headers-2.6.24-16-generic'
CC [M] /tmp/vmware-config6/vmmon-only/linux/driver.o
CC [M] /tmp/vmware-config6/vmmon-only/linux/driverLog.o
CC [M] /tmp/vmware-config6/vmmon-only/linux/hostif.o
CC [M] /tmp/vmware-config6/vmmon-only/common/comport.o
CC [M] /tmp/vmware-config6/vmmon-only/common/cpuid.o
CC [M] /tmp/vmware-config6/vmmon-only/common/hash.o
CC [M] /tmp/vmware-config6/vmmon-only/common/memtrack.o
CC [M] /tmp/vmware-config6/vmmon-only/common/phystrack.o
CC [M] /tmp/vmware-config6/vmmon-only/common/task.o
cc1plus: aviso: la opción de línea de comando "-Werror-implicit-function-declaration" es válida para C/ObjC pero no para C++
cc1plus: aviso: la opción de línea de comando "-Wdeclaration-after-statement" es válida para C/ObjC pero no para C++
cc1plus: aviso: la opción de línea de comando "-Wno-pointer-sign" es válida para C/ObjC pero no para C++
cc1plus: aviso: la opción de línea de comando "-Wstrict-prototypes" es válida para Ada/C/ObjC pero no para C++
cc1plus: aviso: la opción de línea de comando "-ffreestanding" es válida para C/ObjC pero no para C++
In file included from include/asm/page.h:3,
from /tmp/vmware-config6/vmmon-only/common/hostKernel.h:56,
from /tmp/vmware-config6/vmmon-only/common/task.c:30:
include/asm/page_32.h: In function ‘pte_t native_make_pte(long unsigned int)’:
include/asm/page_32.h:112: error: expected primary-expression before ‘)’ token
include/asm/page_32.h:112: error: expected ‘;’ before ‘{’ token
include/asm/page_32.h:112: error: expected primary-expression before ‘.’ token
include/asm/page_32.h:112: error: expected `;' before ‘}’ token
make[2]: *** [/tmp/vmware-config6/vmmon-only/common/task.o] Error 1
make[1]: *** _module_/tmp/vmware-config6/vmmon-only Error 2
make[1]: se sale del directorio `/usr/src/linux-headers-2.6.24-16-generic'
make: *** http://vmmon.ko Error 2
make: se sale del directorio `/tmp/vmware-config6/vmmon-only'
Unable to build the vmmon module.

For more information on how to troubleshoot module-related problems, please
visit our Web site at "http://www.vmware.com/download/modules/modules.html" and
"http://www.vmware.com/support/reference/linux/prebuilt_modules_linux.html".

Execution aborted.

Any ideas?

May 19, 2008 4:38 PM malacosteus  says: in response to: malacosteus

any help would be greatly appreciated... I am at a loss. I have been working on this for a couple of days and can't seem to get my vmware working in Hardy... Thanks.

May 21, 2008 9:15 AM gherardo  says: in response to: DirkKoopman

Thanks DirkKoopman
It works.
You helped a lot.

Jun 10, 2008 8:23 PM charleys  says:

WOO HOO!

Thanks DK. This worked like a charm and I'm a fairly new Linux noob.

Interestingly, I did NOT have this problem installing on 64-bit Hardy - only 32-bit, after a previous installation of server 1.0.4

Kernel = 2.6.24-18-generic

Jun 11, 2008 8:33 AM DavidDudek  says:

I noticed that I did not have this problem when I recently upgraded VMware and my kernel. I suspect the VMware folks built the fix into the latest version.

Jun 11, 2008 8:35 AM DavidDudek  says:

Sorry, here's the version numbers for my last post:

kernel 2.6.24-18-generic #1 SMP Wed May 28 20:27:26 UTC 2008 i686 GNU/Linux
VMware® Workstation 6.0.4 build-93057

Jun 12, 2008 4:13 AM codfather  says: in response to: malacosteus

malacosteus, After you have edited the vmmon.tar file, are you just running the command /usr/bin/vmware-config.pl? If you run the install again, it will just overwrite what you have just changed. I know this, as I showed this solution to a few colleagues who did exactly that. Looking at your output, the asm reference is still there, and this needs to be changed to linux as described. As mentioned, if you download the workstation 6.5 beta, it works without needing to make these changes, and it includes the latest version of vmplayer 2.5.

hth

Cod