Vmware vmplayer and kernel 2.6.32

So you have a shiny new linux-2.6.32 kernel installed but your VMPlayer does not work anymore since the vmnet module does not compile by throwing this error :

CC [M] /tmp/vmware-root/modules/vmnet-only/vnetEvent.o
CC [M] /tmp/vmware-root/modules/vmnet-only/vnetUserListener.o
/tmp/vmware-root/modules/vmnet-only/vnetUserListener.c: In function ‘VNetUserListenerEventHandler’:
/tmp/vmware-root/modules/vmnet-only/vnetUserListener.c:240: error: ‘TASK_INTERRUPTIBLE’ undeclared (first use in this function)
/tmp/vmware-root/modules/vmnet-only/vnetUserListener.c:240: error: (Each undeclared identifier is reported only once
/tmp/vmware-root/modules/vmnet-only/vnetUserListener.c:240: error: for each function it appears in.)
/tmp/vmware-root/modules/vmnet-only/vnetUserListener.c: In function ‘VNetUserListenerRead’:
/tmp/vmware-root/modules/vmnet-only/vnetUserListener.c:282: error: ‘TASK_INTERRUPTIBLE’ undeclared (first use in this function)
/tmp/vmware-root/modules/vmnet-only/vnetUserListener.c:282: error: implicit declaration of function ‘signal_pending’
/tmp/vmware-root/modules/vmnet-only/vnetUserListener.c:282: error: implicit declaration of function ‘schedule’
make[2]: *** [/tmp/vmware-root/modules/vmnet-only/vnetUserListener.o] Error 1
make[1]: *** [_module_/tmp/vmware-root/modules/vmnet-only] Error 2
make[1]: Leaving directory `/opt/temp/linux-2.6.32′
make: *** [vmnet.ko] Error 2

Just do the following to fix it :

make sure first you have installed the latest vmplayer (VMware-Player-3.0.0-203739.i386.bundle) at this time for me.

  • cd /tmp
  • tar xf /usr/lib/vmware/modules/source/vmnet.tar
  • cd vmnet-only
  • vim vnetUserListener.c
  • go to line 37 (after the last include)
  • add this line #include “compat_sched.h”
  • exit your editor
  • cd /tmp
  • sudo tar cf /usr/lib/vmware/modules/source/vmnet.tar vmnet-only
  • restart vmplayer

When recompiling the kernel module it should get it built properly and working it seems…..

29 thoughts on “Vmware vmplayer and kernel 2.6.32”

  1. Hi!
    Unfortunately I still have problems:

    vermagic: 2.6.32-7-generic SMP mod_unload modversions
    parm: root:The directory the file system redirects to. (charp)
    ERROR: modinfo: could not find module vmci
    ERROR: modinfo: could not find module vsock
    filename: /lib/modules/2.6.32-7-generic/misc/vmmon.ko
    supported: external
    license: GPL v2
    description: VMware Virtual Machine Monitor.
    author: VMware, Inc.
    srcversion: 9FB063A3FC33465439B2834
    vermagic: 2.6.32-7-generic SMP mod_unload modversions
    ERROR: modinfo: could not find module vmnet
    filename: /lib/modules/2.6.32-7-generic/misc/vmblock.ko
    supported: external
    license: GPL v2
    description: VMware Blocking File System
    author: VMware, Inc.
    srcversion: 400149ED038D22A87322D56

  2. add this line #include “compat_sched.h”
    should be
    add this line #include “compat_sched.h”

  3. Hi everybody!!

    installing VMware workstation 7 it fails compiling also the vmci and vmci-socket modules..
    the solution is to add the #include “compat_sched.h” in ./vmci-only/include/pgtbl.h from the vmci.tar module sources

    1. Thank you chmouel and AlekSay!

      This version of vmplayer is working on my linux-2.6.32-2 kernel. I had problems with vmci and vmci-socket modules too.

  4. I used this to fix vmserver-2.0.0-122956 to compile under Debian linux-image-2.6.32-trunk-686 (2.6.32-5).

    But how did you figure out the fix?


    1. This is for vmplayer mate, to fix for vmserver i think there is other module to patch but I don’t have it so i can’t say…

  5. Thank you for the instructions! I will try this out this evening on my Slackware system. All my VM modules are compiling fine with the exception of VMNet module. Hopefully your instructions will fix it.

  6. Thank you for this useful post.

    Had a similar problem installing vmplayer 3 on a linux (ubuntu) 2.6.32 host. However your solution, as-is, allowed the vmware kernel module to compile correctly, but in the end i had no network support at all while running vmplayer.

    I found the missing #define to be located in /include/linux/sched.h on my system, so I replaced your #include line with this one :


    Works like a charm so far. Module compiled correctly and my VM now has network access as it should be.

  7. Line in previous post is apparently broken by the blog comment system. Attempt #2 :

    #include <linux/sched.h>

  8. Holy hell, thanks so much, i’ve been trying to get this installed for some time now, even went as far as installing a new kernel (from 2.6.30-ultimate to to get VMWare installed, then ran into this problem.


  9. thank you

    i have been wrestling with this problem and recompiling my kernel like a mad man.

    i can’t belive the solution was that simple.

    thanks again.

  10. Thank you for this step by step how to!

    It has solved my problems! Bye

  11. Outstanding! Was beating my head against the wall after upgrading to 2.6.32 and vmware player refused to compile. Thanks for the simple but not obvious solution.

  12. Amazingly I had to edit compat_sched.h so that there’s no space in between # and define in #define __COMPAT_SCHED_H__

  13. good solutions, helped me to fix problem with workstation in ubuntu 10.04. well done! thanks a lot

  14. I know it is not a new  post but…
    Thanks! It helped a lot!

  15. Helped me a lot! Thanks for this information! People usually complicate things. It is as simples as you wrote.

  16. Thank you very much.

    This fix worked for me on VMPlayer 2.5.5.

    Note: My venerable Pentium-M doesn’t has PAE so I cannot use 3.x or 4.x versions.

  17. CoUdos ;D
    And exact fix and probably indexed by a great build log, it was my number one on google search.

    To contribute, onliner in a nutshell:
    cfile=”vmnet-only/vnetUserListener.c”; tarfile=”/usr/lib/vmware/modules/source/vmnet.tar”; cd /tmp; tar xf $tarfile; head -n 36 $cfile > buf && echo “#include “compat_sched.h”” >> buf && tail -n $(echo `wc -l $cfile|cut -d ” ” -f1`-36|bc) $cfile >> buf && mv buf $cfile; sudo cp $tarfile $tarfile.orig; sudo tar cf $tarfile vmnet-only

  18. This did it! Thanks for the help, this debian upgrade from 5 to 6 has been painful to say the least…

Comments are closed.