kqemu-1.4.0pre1: insert missing include linux/sched.h
PATCH 1/1 kqemu-1.4.0pre1: insert missing include linux/sched.h
Hi,
if you try to build kqemu-1.4.0pre1 against linux-kernel (I tried 2.6.25.17 and 2.6.26.6), you get this error:
Quoted 8 lines
$ tar xzf kqemu-1.4.0pre1.tar.gz $ cd kqemu-1.4.0pre1 $ ./configure && make [...] make[1]: Entering directory `/usr/src/linux-2.6.26.6' CC [M] /home/sbeh/source/kqemu-1.4.0pre1/kqemu-linux.o /home/sbeh/source/kqemu-1.4.0pre1/kqemu-linux.c: In function ‘kqemu_lock_user_page’: /home/sbeh/source/kqemu-1.4.0pre1/kqemu-linux.c:81: error: dereferencing pointer to incomplete type
Quoted 8 lines
/home/sbeh/source/kqemu-1.4.0pre1/kqemu-linux.c: In function ‘kqemu_schedule’: /home/sbeh/source/kqemu-1.4.0pre1/kqemu-linux.c:194: error: implicit declaration of function ‘need_resched’ /home/sbeh/source/kqemu-1.4.0pre1/kqemu-linux.c:195: error: implicit declaration of function ‘schedule’ /home/sbeh/source/kqemu-1.4.0pre1/kqemu-linux.c:197: error: implicit declaration of function ‘signal_pending’ make[2]: *** [/home/sbeh/source/kqemu-1.4.0pre1/kqemu-linux.o] Error 1 make[1]: *** [_module_/home/sbeh/source/kqemu-1.4.0pre1] Error 2 make[1]: Leaving directory `/usr/src/linux-2.6.26.6' make: *** [kqemu.ko] Error 2
Applying the attached patch fixes this.
Quoted 9 lines
$ patch <../kqemu-insert-linux-sched-header.patch patching file kqemu-linux.c $ make make -C common all make[1]: Entering directory `/home/sbeh/source/kqemu-1.4.0pre1/common' make[1]: Nothing to be done for `all'. make[1]: Leaving directory `/home/sbeh/source/kqemu-1.4.0pre1/common' make -C /lib/modules/2.6.26.6/build M=`pwd` modules make[1]: Entering directory `/usr/src/linux-2.6.26.6'
Quoted 8 lines
CC [M] /home/sbeh/source/kqemu-1.4.0pre1/kqemu-linux.o cp /home/sbeh/source/kqemu-1.4.0pre1/kqemu-mod-i386.o /home/sbeh/source/kqemu-1.4.0pre1/kqemu-mod.o LD [M] /home/sbeh/source/kqemu-1.4.0pre1/kqemu.o Building modules, stage 2. MODPOST 1 modules CC /home/sbeh/source/kqemu-1.4.0pre1/kqemu.mod.o LD [M] /home/sbeh/source/kqemu-1.4.0pre1/kqemu.ko make[1]: Leaving directory `/usr/src/linux-2.6.26.6'
Bye.
kqemu-linux.c 2008-10-11 10:32:12.000000000 +0200 renamed from kqemu-linux.c.orig 2008-05-30 22:33:34.000000000 +0200 +1 -0
@@ -26,6 +26,7 @@ #include <linux/ioctl.h> #include <linux/smp_lock.h> #include <linux/miscdevice.h> +#include <linux/sched.h> #include <asm/atomic.h> #include <asm/processor.h> #include <asm/uaccess.h>