I had originally marked alsa-driver and everything else alsa as ~x86 as I needed a driver that wasn't in earlier alsa versions, nor is it in the kernel - the echo mia. I went to record something, and found that my sound card was dead - apparently due to an upgrade of alsa. I'm pretty sure I was using 1.0.8 before, but the an emerge world has upgraded to 1.0.9_rc2 and I get the following error: lain root # modprobe snd-mia WARNING: Error inserting snd_page_alloc (/lib/modules/2.6.10-gentoo-r2/alsa-driver/acore/snd-page-alloc.ko): Invalid module format WARNING: Error inserting snd (/lib/modules/2.6.10-gentoo-r2/alsa-driver/acore/snd.ko): Invalid module format WARNING: Error inserting snd_timer (/lib/modules/2.6.10-gentoo-r2/alsa-driver/acore/snd-timer.ko): Invalid module format WARNING: Error inserting snd_pcm (/lib/modules/2.6.10-gentoo-r2/alsa-driver/acore/snd-pcm.ko): Invalid module format WARNING: Error inserting snd_seq_device (/lib/modules/2.6.10-gentoo-r2/alsa-driver/acore/seq/snd-seq-device.ko): Invalid module format WARNING: Error inserting snd_rawmidi (/lib/modules/2.6.10-gentoo-r2/alsa-driver/acore/snd-rawmidi.ko): Invalid module format FATAL: Error inserting snd_mia (/lib/modules/2.6.10-gentoo-r2/alsa-driver/pci/echoaudio/snd-mia.ko): Invalid module format Reproducible: Always Steps to Reproduce: Expected Results: Not sure why alsa refuses to install, or why it says its the wrong module format. I'm using kernel 2.6.10-gentoo-r2. What happened? This machine is for recording audio - so with the sound card dead, its useless.
This usually means that the modules were compiled with some different options than the kernel was. Checking dmesg after attempting to load the modules will show what is different. The most common change is often gcc gets upgraded, and the newly compiled modules are compiled with a different compiler then the old kernel image, etc.
That fixed it! I wasn't aware that the code generated by two different GCCs was different enough to not allow the kernel to load modules compiled with a different GCC. But works now - marking bug as invalid if it lets me.