Add new comment

Submitted by pepo (registered user) on Mon, 2007-06-18 11:34.

If you get de following error when running the VMWare server install:

Building the vmmon module.

Using 2.6.x kernel build system.
make: Entering directory `/tmp/vmware-config1/vmmon-only'
make -C /lib/modules/2.6.20.1/build/include/.. SUBDIRS=$PWD SRCROOT=$PWD/. modules
make[1]: Entering directory `/usr/src/linux-2.6.20.1'
  CC [M]  /tmp/vmware-config1/vmmon-only/linux/driver.o
In file included from /tmp/vmware-config1/vmmon-only/linux/driver.c:80:
/tmp/vmware-config1/vmmon-only/./include/compat_kernel.h:21: error: expected declaration specifiers or ‘...’ before ‘compat_exit’
/tmp/vmware-config1/vmmon-only/./include/compat_kernel.h:21: error: expected declaration specifiers or ‘...’ before ‘exit_code’
/tmp/vmware-config1/vmmon-only/./include/compat_kernel.h:21: warning: type defaults to ‘int’ in declaration of ‘_syscall1’
make[2]: *** [/tmp/vmware-config1/vmmon-only/linux/driver.o] Error 1
make[1]: *** [_module_/tmp/vmware-config1/vmmon-only] Error 2
make[1]: Leaving directory `/usr/src/linux-2.6.20.1'
make: *** [vmmon.ko] Error 2
make: Leaving directory `/tmp/vmware-config1/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".


You can try this solution. It worked for me on a FC6/2.6.20 kernel

Have a look at this page - http://kb.barnoid.com/?p=18 ... it's talking about VMWare player, but I had the same error when vmware-config.pl tried to build the vmmon kernel module under Ubuntu with 2.6.20.

You need to -
* Make a backup of /usr/lib/vmware/modules/source/vmmon.tar

cd /usr/lib/vmware/modules/source/
cp vmmon.tar vmmon.tar.old

* Untar /usr/lib/vmware/modules/source/vmmon.tar into a temporary directory

tar -xvvf vmmon.tar
* Modify vmmon-only/include/compat_kernel.h, and change:

cd vmmon-only/include
vi compat_kernel.h


#define __NR_compat_exit __NR_exit
static inline _syscall1(int, compat_exit, int, exit_code);

to:

#define __NR_compat_exit __NR_exit
#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,19)
static inline _syscall1(int, compat_exit, int, exit_code);
#endif

* Finally, tar the modified module source back up, and replace the vmmon.tar in /usr/lib/vmware/modules/source/

cd ../..
tar -cvvf vmmon.tar vmmon-only/


Hope this helps :)

Found at: http://www.vmware.com/community/thread.jspa?messageID=629085&#629085

Cheers,

 Pepo

Please do not use the comment function to ask for help! If you need help, please use our forum.
Comments will be published after administrator approval.

Reply

*
*
The content of this field is kept private and will not be shown publicly.


*

  • Images can be added to this post.
  • Allowed HTML tags: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd> <img> <div>
  • Lines and paragraphs break automatically.