[pvrusb2] Module symbol version mismatch junk
Mike Isely
isely at isely.net
Fri Dec 9 00:02:57 CST 2005
OK, well I've tried a few things in an attempt to cause a message
resembling this:
>>> Dec 9 09:34:49 192 kernel: pvrusb2: disagrees about version of symbol
>>> tveeprom_hauppauge_analog
To do this, I've deliberately swapped kernel headers for building
tveeprom.ko and I've also tried changing compilers out from under the
build. But the errors I get are different. This is what I see when I try
changing compilers:
Dec 8 23:56:55 londo kernel: [4893473.238000] tveeprom: version magic '2.6.14.3-k7-isely1 preempt K7 gcc-3.4' should be '2.6.14.3-k7-isely1 preempt K7 gcc-3.3'
If I swap in different headers for a different kernel version, the results
are similar:
Dec 9 00:12:04 londo kernel: [4894383.221000] tveeprom: version magic '2.6.15-rc2-k7-isely1 preempt K7 gcc-3.3' should be '2.6.14.3-k7-isely1 preempt K7gcc-3.3'
This from my point of view, all makes sense. After all I'm doing clearly
illegal things here and the module loader is catching it. But I can't
find any way to cause the "disagrees about version of symbol yaddayadda"
type of message at all.
I have tried also loading pvrusb2.ko without a tveeprom.ko available at
all. In that case I get a response to the effect that pvrusb2.ko simply
can't be loaded because of the obvious missing symbol - but still no
message about disagreeable version info.
Now realize that I have CONFIG_MODVERSIONS disabled in my kernel build.
The description of this (experimental) feature suggests that it lets
modules be a little looser in their compatibility, which suggests that the
strict checking that we see above might be disabled. Perhaps if I turned
this option on and tried to abuse things some more that I'd see the error
that you are seeing. Unfortunately it's going to take quite some time to
rebuild everything for this. I may do it anyway, but I won't have any
results from this tonight.
I'd like to take a poll here. Can people here tell me if you have
CONFIG_MODVERSIONS enabled in your kernel? If you have /proc/config.gz
enabled, you can find out easily with a command like this:
zgrep CONFIG_MODVERSIONS /proc/config.gz
I'd also like to know who among you has seen the error message I'm trying
to force and what you did to solve the problem. My gut feeling is that
this is all just another variation of using mismatched kernel headers
between the building of pvrusb2.ko and tveeprom.ko, but if this were such
an obvious cause then why do people keep hitting it?
-Mike
--
| Mike Isely | PGP fingerprint
Spammers Die!! | | 03 54 43 4D 75 E5 CC 92
| isely @ pobox (dot) com | 71 16 01 E2 B5 F5 C1 E8
| |
More information about the pvrusb2
mailing list