# disagrees about version of symbol struct_module

## RayVad

I got several warnings about "..disagrees about version of symbol struct_module" at boot time(dmesg).

What does it mean and how kan i solve this?

It started after installing the new kernel 2.6.16-r7.Last edited by RayVad on Wed Jun 14, 2006 9:21 pm; edited 2 times in total

----------

## Philantrop

That warning usually means that you are running your new kernel 2.6.16-r7 but the modules that trigger the warning were compiled against your former kernel. You need to recompile them and everything should be working fine.

----------

## RayVad

Ok, i understand that i have to get the new modules.

But aren't these modules in the gentoo-sources? I re-emerged the source and compiled the kernel again.

Doesn't make && make modules_install compile the modules?

----------

## Philantrop

It does but did you 

1. cp /usr/src/linux/arch/i386/boot/bzImage /boot/kernel-2.6.16-r7

2. cp /usr/src/linux/System.map /boot/

3. update your grub or lilo configuration to use the new kernel?

Or maybe those modules are not part of the Linux kernel but from some other package? Like ALSA driver modules?

----------

## RayVad

Compiled the kernel again, make && make modules_install, bzimage > /boot/  and copied System.map > /boot

still i get this in dmesg:

```

Freeing unused kernel memory: 152k freed

usbcore: disagrees about version of symbol struct_module

ehci_hcd: disagrees about version of symbol struct_module

usbhid: disagrees about version of symbol struct_module

usb_storage: disagrees about version of symbol struct_module

uhci_hcd: disagrees about version of symbol struct_module

ohci_hcd: disagrees about version of symbol struct_module

usbhid: disagrees about version of symbol struct_module

sl811_hcd: disagrees about version of symbol struct_module

ieee1394: disagrees about version of symbol struct_module

ohci1394: disagrees about version of symbol struct_module

sbp2: disagrees about version of symbol struct_module

libata: disagrees about version of symbol struct_module

sata_promise: disagrees about version of symbol struct_module

sata_sil: disagrees about version of symbol struct_module

sata_svw: disagrees about version of symbol struct_module

sata_via: disagrees about version of symbol struct_module

sata_nv: disagrees about version of symbol struct_module

sata_sx4: disagrees about version of symbol struct_module

sata_sis: disagrees about version of symbol struct_module

sata_uli: disagrees about version of symbol struct_module

sata_vsc: disagrees about version of symbol struct_module

sata_qstor: disagrees about version of symbol struct_module

ahci: disagrees about version of symbol struct_module

ata_piix: disagrees about version of symbol struct_module

sata_mv: disagrees about version of symbol struct_module

dm_mod: disagrees about version of symbol struct_module

dm_mirror: disagrees about version of symbol struct_module

```

???????????

----------

## Philantrop

Please post the output of the following commands:

uname -a

ls -l /boot/

ls -l /lib/modules/2.6.16-gentoo-r7

cat /boot/grub/grub.conf

----------

## RayVad

uname -a:

```

Linux cherokee 2.6.16-gentoo-r7 #7 Wed May 31 21:18:48 CEST 2006 i686 Pentium III (Coppermine) GNU/Linux

```

ls -l /boot:

```

total 8968

-rw-r--r-- 1 root root  844774 Apr  5 01:24 System.map-genkernel-x86-2.6.15-gentoo-r5

-rw-r--r-- 1 root root  797007 May 31 22:56 System.map-genkernel-x86-2.6.16-gentoo-r7

lrwxrwxrwx 1 root root       1 Apr  5 00:47 boot -> .

-rw-r--r-- 1 root root   48025 May 28 19:05 config-genkernel-x86-2.6.15-gentoo-r5

-rw-r--r-- 1 root root   44434 May 31 21:44 config-genkernel-x86-2.6.16-gentoo-r7

drwxr-xr-x 2 root root    1024 May 31 22:06 grub

-rw-r--r-- 1 root root 1873780 Apr  5 02:11 initramfs-genkernel-x86-2.6.15-gentoo-r5

-rw-r--r-- 1 root root 2012113 May 28 22:17 initramfs-genkernel-x86-2.6.16-gentoo-r7

-rw-r--r-- 1 root root 1827182 May 28 19:05 kernel-genkernel-x86-2.6.15-gentoo-r5

-rw-r--r-- 1 root root 1673545 May 31 21:44 kernel-genkernel-x86-2.6.16-gentoo-r7

drwx------ 2 root root   12288 Apr  5 00:28 lost+found

```

ls -l /lib/modules/2.6.16-gentoo-r7 

```

total 784

lrwxrwxrwx 1 root root     31 May 28 22:17 build -> /usr/src/linux-2.6.16-gentoo-r7

drwxr-xr-x 9 root root   4096 May 31 21:23 kernel

drwxr-xr-x 2 root root   4096 May 31 13:06 misc

-rw-r--r-- 1 root root 167790 May 31 23:06 modules.alias

-rw-r--r-- 1 root root     69 May 31 23:06 modules.ccwmap

-rw-r--r-- 1 root root 158599 May 31 23:06 modules.dep

-rw-r--r-- 1 root root     73 May 31 23:06 modules.ieee1394map

-rw-r--r-- 1 root root    206 May 31 23:06 modules.inputmap

-rw-r--r-- 1 root root  17252 May 31 23:06 modules.isapnpmap

-rw-r--r-- 1 root root     74 May 31 23:06 modules.ofmap

-rw-r--r-- 1 root root  66256 May 31 23:06 modules.pcimap

-rw-r--r-- 1 root root    967 May 31 23:06 modules.seriomap

-rw-r--r-- 1 root root  64493 May 31 23:06 modules.symbols

-rw-r--r-- 1 root root 266983 May 31 23:06 modules.usbmap

lrwxrwxrwx 1 root root     31 May 31 21:23 source -> /usr/src/linux-2.6.16-gentoo-r7

```

cat /boot/grub/grub.conf

```

default 0

timeout 6

splashimage=(hd0,0)/grub/splash.xpm.gz

title=Gentoo Linux 2.6.16-gentoo-r7

root (hd0,0)

kernel /kernel-genkernel-x86-2.6.16-gentoo-r7 root=/dev/ram0 init=/linuxrc ramdisk=8192 real_root=/dev/hda3

initrd /initramfs-genkernel-x86-2.6.16-gentoo-r7

```

----------

## Philantrop

I'm at a loss here. I have no explanation why those modules still complain. What I would do now is the following:

1. Make a backup of /lib/modules/2.6.16-gentoo-r7. (cp -a /lib/modules/2.6.16-gentoo-r7 <somewhere safe>)

2. Delete those modules that cause the warning.

3. Re-compile and re-install all modules (in /usr/src/linux: make modules && make modules_install)

EDIT: Did you use genkernel as the file names suggest? If so, I would suggest you configure your kernel yourself. I don't know anything about genkernel and can't take a look at it right now but I wouldn't use it.

----------

## RayVad

Ok i try.

But i found something now:

/lib/modules/2.6.15-gentoo-r5 does also stil exists.....

I'll copy that one too and delete that directory.

----------

## Philantrop

It's normal that modules from older kernels still exist. That's not the reason for your problems.

----------

## RayVad

Again, no solution to the problem.

Also did i unemerge the gentoo-source and remerged it again.

make modules && make modules_install

I'm lost.

Can i uninstall the kernel, download it  and rebuild it again? (including the sources?)

The modules .o and .ko are in the kernel directory. Aren't those the problem? Maybe the old modules mixed-up somehow with those of the new one?

Isn't there a database/file in which the modules and versions excist?

----------

## axelbest

I still have the same problem

```

# modprobe snd_ens1371

WARNING: Error inserting snd_page_alloc (/lib/modules/2.6.16-gentoo-r7/alsa-driver/acore/snd-page-alloc.ko): Invalid module format

WARNING: Error inserting snd (/lib/modules/2.6.16-gentoo-r7/alsa-driver/acore/snd.ko): Invalid module format

WARNING: Error inserting snd_timer (/lib/modules/2.6.16-gentoo-r7/alsa-driver/acore/snd-timer.ko): Invalid module format

WARNING: Error inserting snd_pcm (/lib/modules/2.6.16-gentoo-r7/alsa-driver/acore/snd-pcm.ko): Invalid module format

WARNING: Error inserting snd_seq_device (/lib/modules/2.6.16-gentoo-r7/alsa-driver/acore/seq/snd-seq-device.ko): Invalid module format

FATAL: Error inserting snd_ens1371 (/lib/modules/2.6.16-gentoo-r7/alsa-driver/pci/snd-ens1371.ko): Invalid module format
```

```

#dmesg

...last lines

snd_page_alloc: disagrees about version of symbol struct_module

snd: disagrees about version of symbol struct_module

snd_timer: disagrees about version of symbol struct_module

snd_pcm: disagrees about version of symbol struct_module

snd_seq_device: disagrees about version of symbol struct_module

snd_ens1371: disagrees about version of symbol struct_module

```

----------

## Philantrop

 *RayVad wrote:*   

> Also did i unemerge the gentoo-source and remerged it again.
> 
> make modules && make modules_install

 

But before you did a "make menuconfig" to configure your kernel, right? What does 

```
grep "CONFIG_MOD" /usr/src/linux/.config
```

 output?

 *RayVad wrote:*   

> Can i uninstall the kernel, download it  and rebuild it again? (including the sources?)

 

Well, that's what you did by unmerging and emerging it.

 *RayVad wrote:*   

> The modules .o and .ko are in the kernel directory. Aren't those the problem? Maybe the old modules mixed-up somehow with those of the new one?

 

You mean they're in "/usr/src/linux"? That's normal, too.

----------

## RayVad

Solved!

I did a new update to the latest kernel 2.6.16-gentoo-r9.

But now i think i know where it could have been gone possibly wrong.

I updated to the latest portage and did a "genkernel --udev all" this time, to update to the latest kernel and saw it rebuilding everything. 

But with previous kernel i did it manualy and think that i forgot something.

----------

## Philantrop

That's why I wish there was no genkernel. If it screws up, it does greatly. 

A Linux kernel should always be configured manually. Especially in a distribution like Gentoo. I know it's not too easy for Linux beginners but on the other hand there's usually good documentation for almost all options and people can select the correct drives for their hardware on Windows. 

*sigh*

Ray et al, don't take this personally, please. It's not against you or you using genkernel. It's about this one tool I really don't like.

----------

## RayVad

Philantrop,

No problem, i don't take it personaly  :Smile: 

But think you are right. I should maybe do it manually, but i'm also lazy.

Anyway, first of all i'm a noob in Gentoo. But i like gentoo because of the way it's being setup. Not everything is installed, only the things you realy need.

I'm using Linux for about 5 years now and tried everything; Redhat, Suse, FedoraCore, Ubuntu, BSD... etc, etc. But Gentoo won my respect  :Smile: 

Got here about 5 PC running Gentoo (2 Webservers, 2 Dual-boot systems and 1 laptop) The laptop is the one i tried to upgrade, the others are still the first installation.

It was just my curiousety to upgrade it, but it's not easy in any way.

Do you know a good step-by-step way to upgrade it? How do you do it?

What kernel do you recommend?

My installed kernel seems to have used the old config, as what i wanted (updated from kernel r7 to r9). But when i do a make menuconfig now, it uses a default kernel config?!

I have more issues here as i posted in other threats on this forum, but the Gentoo forum/community is very good for help. I realy like that!

Hope to solve all these things soon.

Thank you very much for your help, i realy appreciate it!

Best regards,

Ray

----------

## Philantrop

I'm lazy, too, so here's what I'm doing if I want to upgrade my kernel (which I rarely do because if everything works and there's no critical security-related bug, why change? I usually skip up to ten kernel versions.):

I don't use the "symlink" USE flag for the kernel. This USE flag is at least as evil as genkernel. ;-) Just because you emerged a kernel it doesn't mean you're actually using it already but any given software you emerge before the new kernel has been compiled and installed and that wants to see your kernel will look for new kernel because of the symlink instead of the currently running one.

Anyway, I copy my .config from the old kernel's directory (still symlinked as /usr/src/linux) into the new kernel's directory. Only then do I remove the old symlink and create the new one. As I'm fairly paranoid I do not only keep the .config file but I also activate the kernel option (which I can't look up currently) that instructs the kernel to keep a .config copy in /proc/config.gz. If I accidentally delete the .config file on disk, I still have it in /proc. If I managed to kill that one, too, I would be in deep trouble anyway. ;-)

(Yes, without using the old .config, an usually inconsistent default config is being used.)

I then enter /usr/src/linux (which now points to the new kernel I want to use) and do "make menuconfig" to check if everything is fine and if Linus et al finally implemented the "rule the world" option ;-). 

Finally, a "make && make modules_install" compiles the kernel, its modules and installs the latter. Then it's just a matter of copying the kernel and its System.map to their final resting place in /boot and update the grub.conf. I always keep an "Old kernel" entry in grub.conf which contains the previous kernel as I'm sure that one did the job in case the newly compiled one screws up.

Then I confidently reboot and usually find myself equipped with a new, shiny kernel of my own liking with hardly any effort on my part. :-)

This is how I update - if I update. As long as everything works for you, I suggest to stay at that kernel (whatever version it might be) unless you feel an urge for pain. ;-) (I know people still running 2.2.x kernels just because they do the job.)

----------

## RayVad

You won't believe this!!!

After "make menuconfig" and compiling te kernel. "make && make modules_install", "cp arch/i386/boot/bzImage /boot/kernel-genkernel-x86-2.6.16-gentoo-r9" and "cp .config /boot/config-genkernel-x86-2.6.16-gentoo-r9".

The same shit!! I'm realy lost here now.....what is this?!?

```

usbcore: disagrees about version of symbol struct_module

ehci_hcd: disagrees about version of symbol struct_module

usbhid: disagrees about version of symbol struct_module

usb_storage: disagrees about version of symbol struct_module

uhci_hcd: disagrees about version of symbol struct_module

ohci_hcd: disagrees about version of symbol struct_module

usbhid: disagrees about version of symbol struct_module

sl811_hcd: disagrees about version of symbol struct_module

ieee1394: disagrees about version of symbol struct_module

ohci1394: disagrees about version of symbol struct_module

sbp2: disagrees about version of symbol struct_module

libata: disagrees about version of symbol struct_module

sata_promise: disagrees about version of symbol struct_module

sata_sil: disagrees about version of symbol struct_module

sata_svw: disagrees about version of symbol struct_module

sata_via: disagrees about version of symbol struct_module

sata_nv: disagrees about version of symbol struct_module

sata_sx4: disagrees about version of symbol struct_module

sata_sis: disagrees about version of symbol struct_module

sata_uli: disagrees about version of symbol struct_module

sata_vsc: disagrees about version of symbol struct_module

sata_qstor: disagrees about version of symbol struct_module

ahci: disagrees about version of symbol struct_module

ata_piix: disagrees about version of symbol struct_module

sata_mv: disagrees about version of symbol struct_module

dm_mod: disagrees about version of symbol struct_module

dm_mirror: disagrees about version of symbol struct_module

```

I have been experimenting with grub, by the way, for dual-booting (which finaly worked for 2 kernel versions). Grub is back to the default setup anyway....since i didn't wanted a dual-boot at this time. 

I can't remember if it was before or after these problems. Could that be a reason?

Maybe because the kernel which was booted was another one then configured now? Athough uname -ar did give the same output?

[off-topic]

Warum hat Deutchland schon wieder so viel gluck?!  :Smile: 

Deutchland-Poland 1-0. Ein Tor im letzte Secunde!!

Vielleicht sehen wir uns im finale Holland-Deutchland?!  :Wink: 

[/off-topic]

----------

## RayVad

At this moment i did:

emerge -C gentoo-sources

rm from /boot every kernel files, config, System, initramfs, kernel-xxxx.

deleted ever kernel dir in /lib/modules

So there shouldn't be any files for kernel or modules left, isn't it?

Now i emerged the latest gentoo-source again. (following the Installation manual of Gentoo)

i'll keep you up to date.

----------

