Re: "couldn't find the kernel version the module was compiled for" - help!

From: Steven Walter (srwalter@hapablap.dyn.dhs.org)
Date: Tue Nov 14 2000 - 17:31:54 EST


If my understanding is correct, you need to include version.h without
"#define __NO_VERSION__" in one and only one of your module's .c files.
More than one, and you get redefinition errors; less than one, and its
undefined.

On Tue, Nov 14, 2000 at 03:58:38PM -0600, Timur Tabi wrote:
> I'm at a loss to explain why I can't get this working.
>
> I have a driver written for 2.4 that I'm porting back to 2.2. Every time I
> think I got it working, something surprises me.
>
> First, I had a bunch of link errors on the redifintion of
> __module_kernel_version. To fix that, someone told me to do this:
>
> #define __NO_VERSION__
> #include <linux/version.h>
>
> And sure enough, no more errors.
>
> However, now I get this error from insmod when I try to load my driver:
>
> [root@two ttabi]# insmod tdmcddk.sys
> tdmcddk.sys: couldn't find the kernel version the module was compiled for
>
> I've tried all sorts of things - recompiling the kernels, changing the order of
> #include files (version.h, module.h, modversions.h, whatever). Either the
> driver won't link, or it won't load.
>
> I had our other Linux programmer (who works only with 2.2) look at the problem,
> but he couldn't figure it out, either.
>
> I'd be very appreciative of any assistance.
>
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
Please read the FAQ at http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Wed Nov 15 2000 - 21:00:26 EST