Hi,
I am really stuck with this thing.. For couple of days i have been
trying to compile a kernel module. I have been following the info in
http://www.faqs.org/docs/kernel/x204.html. But no success... i
recompiled the latest kernel version, and i think i trying to compile
the module against the source code for that kernel.. however, strange
errors appear.
Please any help will be appreciated.
Here's the error:
Code:
[fbarsoba@localhost ~]$ cd workspace/kernel_tests/
[fbarsoba@localhost kernel_tests]$ make
gcc -O2 -DMODULE -D__KERNEL__ -W -Wall -Wstrict-prototypes
-Wmissing-prototypes -isystem /lib/modules/`uname -r`/build/include -c
-o hello-1.o hello-1.c
In file included from
/lib/modules/2.6.16.7/build/include/linux/spinlock.h:87, from
/lib/modules/2.6.16.7/build/include/linux/capability.h:45, from
/lib/modules/2.6.16.7/build/include/linux/sched.h:7, from
/lib/modules/2.6.16.7/build/include/linux/module.h:10, from hello-1.c:3:
/lib/modules/2.6.16.7/build/include/asm/spinlock.h: In function
‘__raw_spin_lock’:
/lib/modules/2.6.16.7/build/include/asm/spinlock.h:42: error: expected
‘:’ or ‘)’ before ‘KBUILD_BASENAME’
/lib/modules/2.6.16.7/build/include/asm/spinlock.h: In function
‘__raw_read_lock’:
/lib/modules/2.6.16.7/build/include/asm/spinlock.h:96: error: expected
‘:’ or ‘)’ before ‘KBUILD_BASENAME’
/lib/modules/2.6.16.7/build/include/asm/spinlock.h:96: error: expected
expression before ‘else’
/lib/modules/2.6.16.7/build/include/asm/spinlock.h: In function
‘__raw_write_lock’:
/lib/modules/2.6.16.7/build/include/asm/spinlock.h:101: error: expected
‘:’ or ‘)’ before ‘KBUILD_BASENAME’
/lib/modules/2.6.16.7/build/include/asm/spinlock.h:101: error: expected
expression before ‘else’ In file included from
/lib/modules/2.6.16.7/build/include/linux/sched.h:20, from
/lib/modules/2.6.16.7/build/include/linux/module.h:10, from hello-1.c:3:
/lib/modules/2.6.16.7/build/include/asm/semaphore.h: In function ‘down’:
/lib/modules/2.6.16.7/build/include/asm/semaphore.h:112: error: expected
‘:’ or ‘)’ before ‘KBUILD_BASENAME’
/lib/modules/2.6.16.7/build/include/asm/semaphore.h: In function
‘down_interruptible’:
/lib/modules/2.6.16.7/build/include/asm/semaphore.h:137: error: expected
‘:’ or ‘)’ before ‘KBUILD_BASENAME’
/lib/modules/2.6.16.7/build/include/asm/semaphore.h: In function
‘down_trylock’:/lib/modules/2.6.16.7/build/include/asm/semaphore.h:161:
error: expected ‘:’ or ‘)’ before ‘KBUILD_BASENAME’
/lib/modules/2.6.16.7/build/include/asm/semaphore.h: In function ‘up’:
/lib/modules/2.6.16.7/build/include/asm/semaphore.h:184: error: expected
‘:’ or ‘)’ before ‘KBUILD_BASENAME’ make: *** [hello-1.o] Error 1
And here are the files:
Code:
/* hello-1.c - The simplest kernel module.
*/ #include <linux/module.h> /* Needed by all modules
*/ #include <linux/kernel.h> /* Needed for KERN_ALERT */
int init_module(void) {
printk("<1>Hello world 1.\n"); // A non 0 return means init_module
failed; module can't be loaded.
return 0;
}
void cleanup_module(void) {
printk(KERN_ALERT "Goodbye world 1.\n");
}
Code:
TARGET := hello-1
WARN := -W -Wall -Wstrict-prototypes -Wmissing-prototypes
INCLUDE := -isystem /lib/modules/`uname -r`/build/include
CFLAGS := -O2 -DMODULE -D__KERNEL__ ${WARN} ${INCLUDE} CC := gcc
${TARGET}.o: ${TARGET}.c
.PHONY: clean
clean: rm -rf {TARGET}.o
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
[Index of Archives]
[Kernel Newbies]
[Netfilter]
[Bugtraq]
[Photo]
[Stuff]
[Gimp]
[Yosemite News]
[MIPS Linux]
[ARM Linux]
[Linux Security]
[Linux RAID]
[Video 4 Linux]
[Linux for the blind]
[Linux Resources]