Last week I posted on here about a problem I am having switching from
kernel 2.6.32 to 2.6.36 and compiling modules against the kernel. ?I
was not able to get a response and I'm thinking it's because this is
the wrong place to post this question. ?Where is the best place to ask
this kind of question? ?Is there another mailing list that I should be
posting to?
Thanks
Previous Post:
I am switching from Kernel 2.6.32 to Kernel 2.6.36. ?The kernel builds
fine but when I compile a module (that worked with the previously
kernel) against the new kernel I am getting an error that I don't
understand.
Here is the error:
In file included from include/linux/string.h:10,
?? ? ? ? ? ? ? ? from
/mnt/local/home/linux-omap-2.6/arch/arm/include/asm/uaccess.h:14,
?? ? ? ? ? ? ? ? from /home/my_module/my_module.c:24:
include/linux/compiler.h:62: error: expected ?=?, ?,?, ?;?, ?asm? or
?__attribute__? before ?struct?
make[2]: *** [/home/my_module/my_module.o] Error 1
make[1]: *** [_module_/home/my_module] Error 2
make[1]: Leaving directory `/mnt/local/home/linux-omap-2.6'
make: *** [release] Error 2
I found this thread?http://lkml.org/lkml/2007/10/17/213?and tried
following their solution but it didn't fix the problem.
Does anyone know how to fix this error?
Hi,
You should post the corresponding code in my_module.c around line 24
(preferably a link to the whole code of your external module).
The error alone won't help too much as probably it's happening more or
less deep inside macros, thus the whole parameters to the macro are
required to understand.
Bruno
On Mon, 22 November 2010 Derek Nielson <[email protected]> wrote:
> Last week I posted on here about a problem I am having switching from
> kernel 2.6.32 to 2.6.36 and compiling modules against the kernel. I
> was not able to get a response and I'm thinking it's because this is
> the wrong place to post this question. Where is the best place to ask
> this kind of question? Is there another mailing list that I should be
> posting to?
>
> Thanks
>
> Previous Post:
>
> I am switching from Kernel 2.6.32 to Kernel 2.6.36. The kernel builds
> fine but when I compile a module (that worked with the previously
> kernel) against the new kernel I am getting an error that I don't
> understand.
>
> Here is the error:
>
> In file included from include/linux/string.h:10,
> from
> /mnt/local/home/linux-omap-2.6/arch/arm/include/asm/uaccess.h:14,
> from /home/my_module/my_module.c:24:
> include/linux/compiler.h:62: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or
> ‘__attribute__’ before ‘struct’
> make[2]: *** [/home/my_module/my_module.o] Error 1
> make[1]: *** [_module_/home/my_module] Error 2
> make[1]: Leaving directory `/mnt/local/home/linux-omap-2.6'
> make: *** [release] Error 2
>
> I found this thread http://lkml.org/lkml/2007/10/17/213 and tried
> following their solution but it didn't fix the problem.
>
> Does anyone know how to fix this error?
On Mon, 22 Nov 2010 09:55:14 MST, Derek Nielson said:
> In file included from include/linux/string.h:10,
> ?? ? ? ? ? ? ? ? from
> /mnt/local/home/linux-omap-2.6/arch/arm/include/asm/uaccess.h:14,
> ?? ? ? ? ? ? ? ? from /home/my_module/my_module.c:24:
> include/linux/compiler.h:62: error: expected ?=?, ?,?, ?;?, ?asm? or
> ?__attribute__? before ?struct?
> make[2]: *** [/home/my_module/my_module.o] Error 1
> make[1]: *** [_module_/home/my_module] Error 2
> make[1]: Leaving directory `/mnt/local/home/linux-omap-2.6'
> make: *** [release] Error 2
> I found this thread?http://lkml.org/lkml/2007/10/17/213?and tried
> following their solution but it didn't fix the problem.
>
> Does anyone know how to fix this error?
What does 'gcc -v' say? And can you give the entire 'make' command that
you issued to do the build?
Other likely possibility is that you haven't done a 'make <something>config' in the
2.6.36 directory tree.
> The error alone won't help too much as probably it's happening more or
> less deep inside macros, thus the whole parameters to the macro are
> required to understand.
You were right the error message wasn't really the problem there was
something wrong inside the macro. The error message threw me off.
Thanks for your help, the module is compiling now against the kernel.