Red Hat Bugzilla – Bug 178299
Kernel compiled with gcc version 3.4.5 which is not part of distribution
Last modified: 2013-03-06 00:59:22 EST
From Bugzilla Helper:
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.7.12) Gecko/20050915 Firefox/1.0.7
Description of problem:
This kernel has been compiled with gcc version 3.4.5. This version of gcc is not included in the distribution (yet). Now it is not possible to compile additional kernel modules which can be used with the stock kernel.
I prefer to use the stock kernel and not build a custom one. There are two obvious solutions:
- A stock kernel compiled with gcc version 3.4.4
- Upgrade gcc to version 3.4.5
Version-Release number of selected component (if applicable):
Steps to Reproduce:
1.Compile additional kernel module
2.Load the kernel module
Actual Results: Bad magic
Expected Results: Module should be loaded
did you actually try this? The kernel ignores the lower numbers of the gcc
version for 'vermagic' purposes. This case seems to work fine for me.
You are right, for "normal" modules it is not the compiler. This is the error
message I get in that case:
squashfs: version magic '2.6.9-22.0.2.ELsmp 686 REGPARM 4KSTACKS gcc-3.4'
should be '2.6.9-22.0.2.ELsmp SMP 686 REGPARM 4KSTACKS gcc-3.4'
insmod: error inserting 'fs/squashfs/squashfs.ko': -1 Invalid module format
If I try it for example with the udf module, same problem.
There is a compiler problem when I compile the sk98lin nic driver. For my server
I need a version that is newer than the one in the kernel source. The driver
source is provided by the manufacturer. When I compile this module I get an
error with complaints about compiler version. I can override this error, but
when I insert the module kernel panic occurs. I have built this module a number
of times before in case of kernel updates, never had a problem.
For info: I prepare my kernel tree with "rpmbuild -bp <spec-file>". Then I alter
the version info in the Makefile.
hmmm, given the error above: squashfs: version magic '2.6.9-22.0.2.ELsmp 686
REGPARM 4KSTACKS gcc-3.4'should be '2.6.9-22.0.2.ELsmp SMP 686 REGPARM 4KSTACKS
gcc-3.4'. That to me means that you are trying to load a module that was built
for UP system against an SMP kernel. Note the missing 'SMP' flag in the first
line. This doesn't appear to be related to the compiler, but rather to the say
in which the modules were built. Please make sure the 'CONFIG_SMP' is set. thanks.
The wrong config file was in place. I fixed it. Works like a charm now. Also the
nic driver was fine after the override.
Thanks for the help. This is no bug. Can be closed.
great. glad i could help.