CentOS Linux install kernel headers to build vmware / 3rd party modules

last updated in Categories , , ,

Q. I’ve CentOS 5 installed under vmware. When I run following command:


It asks about Linux kernel headers to build custom headers.

How do I fix this problem?

A. You don’t have development package for building kernel modules to match the kernel. It is required to build 3rd party modules such as vmware or graphics card drivers.

There is a package called kernel-devel. This package provides kernel headers and makefiles sufficient to build modules against the kernel package.

Login as the root, and use yum command to install the same:
# yum install kernel-devel

Now you should able to build kernel modules.


Posted by: Vivek Gite

The author is the creator of nixCraft and a seasoned sysadmin, DevOps engineer, and a trainer for the Linux operating system/Unix shell scripting. Get the latest tutorials on SysAdmin, Linux/Unix and open source topics via RSS/XML feed or weekly email newsletter.

12 comment

  1. i too had this and installed via yum kernel-*

    when i do the vmware config tools
    this path is auto shown /lib/modules/2/6/23.1-42.fc8/build/include

    yet it fails should i be changing this and if so what does the folder look likr or is called?

  2. Old topic, but early hit on google that almost worked for me except I hit the same problem as ackros. I also did:
    cd /lib/modules/2.6.18-164.el5
    sudo rm source build
    sudo ln -s ../../../usr/src/kernels/2.6.18-164.el5 build
    sudo ln -s build source

    and it worked. I think installing kernel-devel left me with broken hard links that the above steps fixed. This was on centos5.4

  3. Your the man Andrew! Your 4 line howto did the trick. It is July 2013, but this post still help people.

  4. Even this fix did not appear to work for me on Centos 7. Finally, I tried the command “vmware-install.pl -default -f” and it installed. Not sure why that made a difference, wasnt expecting it to.

    Still, have a question? Get help on our forum!