Messages in this thread | | | Date | Wed, 19 Apr 2006 09:44:08 -0400 | From | Fernando Barsoba <> | Subject | problems compiling kernel module |
| |
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 majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |