Getting the following error may be deceiving:
Error! echo Your kernel headers for kernel 3.10.0-1062.1.1.el7.x86_64 cannot be found at /lib/modules/3.10.0-1062.1.1.el7.x86_64/build or /lib/modules/3.10.0-1062.1.1.el7.x86_64/source.
Because you may have already installed the kernel-headers package for the current kernel and still to get the same error. So what is missing?
In fact, the kernel headers for compiling a kernel module is in kernel-devel package.
[root@localhost ~]# yum install kernel-devel Loaded plugins: fastestmirror Loading mirror speeds from cached hostfile * base: mirror.wwfx.net * extras: mirror.wwfx.net * updates: mirror.wwfx.net Resolving Dependencies --> Running transaction check ---> Package kernel-devel.x86_64 0:3.10.0-1062.1.1.el7 will be installed --> Finished Dependency Resolution Dependencies Resolved ============================================================================================================================================================================ Package Arch Version Repository Size ============================================================================================================================================================================ Installing: kernel-devel x86_64 3.10.0-1062.1.1.el7 updates 18 M Transaction Summary ============================================================================================================================================================================ Install 1 Package Total download size: 18 M Installed size: 38 M Is this ok [y/d/N]: y Downloading packages: Delta RPMs disabled because /usr/bin/applydeltarpm not installed. kernel-devel-3.10.0-1062.1.1.el7.x86_64.rpm | 18 MB 00:00:02 Running transaction check Running transaction test Transaction test succeeded Running transaction Installing : kernel-devel-3.10.0-1062.1.1.el7.x86_64 1/1 Verifying : kernel-devel-3.10.0-1062.1.1.el7.x86_64 1/1 Installed: kernel-devel.x86_64 0:3.10.0-1062.1.1.el7 Complete!
If you have used other Linux distribution the “kernel headers”/”linux headers” package just means what it is named. In the CentOS 7 world there are two packages:
[root@localhost ~]# yum info kernel-devel Loaded plugins: fastestmirror Loading mirror speeds from cached hostfile * base: mirror.wwfx.net * extras: mirror.wwfx.net * updates: mirror.wwfx.net Installed Packages Name : kernel-devel Arch : x86_64 Version : 3.10.0 Release : 1062.1.1.el7 Size : 38 M Repo : installed From repo : updates Summary : Development package for building kernel modules to match the kernel URL : http://www.kernel.org/ License : GPLv2 Description : This package provides kernel headers and makefiles sufficient to build modules : against the kernel package. [root@localhost ~]# yum info kernel-headers Loaded plugins: fastestmirror Loading mirror speeds from cached hostfile * base: mirror.wwfx.net * epel: mirrors.neterra.net * extras: mirror.wwfx.net * updates: mirror.wwfx.net Installed Packages Name : kernel-headers Arch : x86_64 Version : 3.10.0 Release : 1062.1.1.el7 Size : 3.7 M Repo : installed From repo : updates Summary : Header files for the Linux kernel for use by glibc URL : http://www.kernel.org/ License : GPLv2 Description : Kernel-headers includes the C header files that specify the interface : between the Linux kernel and userspace libraries and programs. The : header files define structures and constants that are needed for : building most standard programs and are also needed for rebuilding the : glibc package.