It usually means that the kernel you are actually running is a different version than the kernel the module was compiled against. It appears that you did a 'make install' on the 2.6.16-rc3 kernel but is it the one that is actually booted? Rich On Sun, 2006-02-26 at 17:25 +0100, Jose Luis Alarcon Sanchez wrote: > Hi all. > > This are the dates, > > - Kernel installed: 2.6.16-rc3 > > - Module Hello.c: > #include <linux/init.h> > #include <linux/module.h> > #include <linux/kernel.h> > > MODULE_LICENSE("GPL"); > > static int hello_init(void) > { > printk(KERN_ALERT "Hello, world\n"); > return 0; > } > > static void hello_exit(void) > { > printk(KERN_ALERT "Goodbye, cruel world\n"); > } > > module_init(hello_init); > module_exit(hello_exit); > > - Makefile: > obj-m := Hello.o > > - make -C /usr/src/linux-2.6.16-rc3 SUBDIRS=$PWD modules > make: Entering directory `/usr/src/linux-2.6.16-rc3' > Building modules, stage 2. > MODPOST > make: Leaving directory `/usr/src/linux-2.6.16-rc3' > > - 'insmod Hello.ko' and 'rmmod Hello' output okey, without messages > > But dmesg show this: > Hello: disagrees about version of symbol struct_module > Hello: disagrees about version of symbol struct_module > Hello, world > Goodbye, cruel world > > What's the meaning of "disagrees about version of symbol struct_module" > lines? > > This is the output of 'nm Hello.ko' if it helps: > 0000000e T cleanup_module > 0000000e t hello_exit > 00000000 t hello_init > 00000000 T init_module > 00000000 r __mod_license9 > 00000020 r __mod_srcversion29 > 00000043 r __module_depends > 0000004c r __mod_vermagic5 > U printk > 00000000 D __this_module > 00000000 r ____versions > > Thanks you very much, in advance. > > Regards. > > Jose. > > -- Richard Johnson <richj25@xxxxxxxxxxxxx> -- Kernelnewbies: Help each other learn about the Linux kernel. Archive: http://mail.nl.linux.org/kernelnewbies/ FAQ: http://kernelnewbies.org/faq/