[SOLVED] "kernel includes do not match the current kernel" - please help to fix this (12.2)
SlackwareThis Forum is for the discussion of Slackware Linux.
Notices
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
"kernel includes do not match the current kernel" - please help to fix this (12.2)
Hi,
I tried to install the proprietary an ATI gpu driver for radeon 9600 on 12.2 v. The installer failed to compile a kernel module. Here is a syslog
Code:
[Message] Kernel Module : Trying to install a precompiled kernel module.
[Message] Kernel Module : Precompiled kernel module version mismatched.
[Message] Kernel Module : Found kernel module build environment, generating kernel module now.
AMD kernel module generator version 2.1
Error:
kernel includes at /lib/modules/2.6.27.7/build/include do not match current kernel.
they are versioned as ""
instead of "2.6.27.7".
you might need to adjust your symlinks:
- /usr/include
- /usr/src/linux
[Error] Kernel Module : Failed to compile kernel module - please consult readme.
Look at the lines
Code:
kernel includes at /lib/modules/2.6.27.7/build/include do not match current kernel.
they are versioned as ""
instead of "2.6.27.7".
(see that empty '""' string?)
The path '/lib/modules/2.6.27.7/build' is a link to the kernel source
That's ATI for you. Anyway, you could try "strace" to gain some insight what files the installer is trying to open. Good luck.
This has nothing to do with ATI. It sounds like a very simple case of the kernel headers not matching the running kernel.
igadoter, what kernel are you running? Did you copy the config file for your kernel from /boot /usr/src/linux-2.6.27.7 and run 'make prepare' in that directory?
2.6.27.7-generic. I've posted 'uname -r' command output. The kernel's source is the kernel commonly shipped with Slackware.
Quote:
Did you copy the config file for your kernel from /boot /usr/src/linux-2.6.27.7 and run 'make prepare' in that directory?
No I didn't. But I'm surprised that such actions are necessary. Recently I installed the same Ati driver but under the recent Slackware version - simply by running the ati installer. I've just realized that then I was running the huge kernel - not the generic one. Maybe this is a solution - temporarily to switch to the huge kernel.
What is this command 'make prepare' for?
[Message] Kernel Module : Trying to install a precompiled kernel module.
[Message] Kernel Module : Precompiled kernel module version mismatched.
[Message] Kernel Module : Found kernel module build environment, generating kernel module now.
AMD kernel module generator version 2.1
doing Makefile based build for kernel 2.6.x and higher
rm -rf *.c *.h *.o *.ko *.GCC* .??* *.symvers
make -C /lib/modules/2.6.27.7/build SUBDIRS=/lib/modules/fglrx/build_mod/2.6.x modules
make[1]: Entering directory `/usr/src/linux-2.6.27.7'
WARNING: Symbol version dump /usr/src/linux-2.6.27.7/Module.symvers
is missing; modules will have no dependencies and modversions.
CC [M] /lib/modules/fglrx/build_mod/2.6.x/firegl_public.o
In file included from /lib/modules/fglrx/build_mod/2.6.x/firegl_public.c:169:
/lib/modules/fglrx/build_mod/2.6.x/firegl_public.h:164:1: warning: "PM_EVENT_SUSPEND" redefined
In file included from include/linux/device.h:23,
from include/linux/pci.h:53,
from /lib/modules/fglrx/build_mod/2.6.x/firegl_public.c:98:
include/linux/pm.h:267:1: warning: this is the location of the previous definition
/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c: In function 'KCL_MEM_VM_GetRegionPhysAddrStr':
/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c:3223: warning: return makes pointer from integer without a cast
/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c:3224: warning: return makes pointer from integer without a cast
/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c:3225: warning: return makes pointer from integer without a cast
/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c:3227: warning: return makes pointer from integer without a cast
CC [M] /lib/modules/fglrx/build_mod/2.6.x/kcl_acpi.o
CC [M] /lib/modules/fglrx/build_mod/2.6.x/kcl_agp.o
CC [M] /lib/modules/fglrx/build_mod/2.6.x/kcl_debug.o
CC [M] /lib/modules/fglrx/build_mod/2.6.x/kcl_ioctl.o
CC [M] /lib/modules/fglrx/build_mod/2.6.x/kcl_io.o
CC [M] /lib/modules/fglrx/build_mod/2.6.x/kcl_pci.o
CC [M] /lib/modules/fglrx/build_mod/2.6.x/kcl_str.o
CC [M] /lib/modules/fglrx/build_mod/2.6.x/kcl_wait.o
LD [M] /lib/modules/fglrx/build_mod/2.6.x/fglrx.o
Building modules, stage 2.
MODPOST 1 modules
/bin/sh: scripts/mod/modpost: No such file or directory
make[2]: *** [__modpost] Error 127
make[1]: *** [modules] Error 2
make[1]: Leaving directory `/usr/src/linux-2.6.27.7'
make: *** [kmod_build] Error 2
build failed with return value 2
[Error] Kernel Module : Failed to compile kernel module - please consult readme.
Look at
Code:
/bin/sh: scripts/mod/modpost: No such file or directory
Inevitable true. But there are files 'modpost.h' and 'modpost.c'.
This has nothing to do with ATI. It sounds like a very simple case of the kernel headers not matching the running kernel.
Obviously not quite so simple, as they DO match. However, you may be on to something.
igadoter, I assumed you had built the new kernel in the directory /usr/src/linux-2.6.27.7 prior to installing the video driver. If not, please repeat the kernel build process before installing the video driver (cp <whatever> .config ; make oldconfig ; make ; make modules). That should also build the modpost binary.
I almost succeeded. The kernel module was built. Thanks @martinus2u. I followed your direction. But...
Code:
Building modules, stage 2.
MODPOST 1 modules
WARNING: "pci_enable_msi" [/lib/modules/fglrx/build_mod/2.6.x/fglrx.ko] undefined!
WARNING: "pci_disable_msi" [/lib/modules/fglrx/build_mod/2.6.x/fglrx.ko] undefined!
CC /lib/modules/fglrx/build_mod/2.6.x/fglrx.mod.o
LD [M] /lib/modules/fglrx/build_mod/2.6.x/fglrx.ko
make[1]: Leaving directory `/usr/src/linux-2.6.27.7'
build succeeded with return value 0
duplicating results into driver repository...
done.
You must change your working directory to /lib/modules/fglrx
and then call ./make_install.sh in order to install the built module.
- recreating module dependency list
- trying a sample load of the kernel modules
failed.
[Error] Kernel Module : Failed to install compiled kernel module - please consult readme.
When I was trying
Code:
modprobe fglrx
root@enzo:# modprobe fglrx
FATAL: Error inserting fglrx (/lib/modules/2.6.27.7/kernel/drivers/char/drm/fglrx.ko): Unknown symbol in module, or unknown parameter (see dmesg)
[/code]
and 'dmesg' tells
Code:
root@enzo:~# dmesg | tail
fglrx: Unknown symbol pci_enable_msi
[drm] Module unloaded
fglrx: Unknown symbol pci_disable_msi
fglrx: Unknown symbol pci_enable_msi
fglrx: Unknown symbol pci_disable_msi
fglrx: Unknown symbol pci_enable_msi
fglrx: Unknown symbol pci_disable_msi
fglrx: Unknown symbol pci_enable_msi
OK. But nevertheless the thread is solved. I have to open a new thread about the ati driver.
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.