This patch attached *does* make it build, but it's not right.
The build moans at me for using the kernel headers... ok I shouldn't.
CC arch/um/os-Linux/aio.o
In file included from /usr/src/linux/include/linux/aio_abi.h:30,
from arch/um/os-Linux/aio.c:47:
/usr/include/asm/byteorder.h:6:2: warning: #warning using private kernel
header; include <endian.h> instead!
How do I get the new headers for my manually compiled kernel?
Antoine
On Tue, 2005-11-22 at 18:31 +0000, Antoine Martin wrote:
> Ignore that, it does not solve anything. Just delays the problem until
> link time.
> Anyone know why my kernel headers don't have aio_abi.h?
>
> Antoine
>
> On Tue, 2005-11-22 at 18:20 +0000, Antoine Martin wrote:
> > patch attached, I've no idea what I've done really, but it builds ok now.
> >
> > This time on an x86 box:
> >
> > wget ftp://ftp.kernel.org/pub/linux/kernel/v2.6/linux-2.6.14.tar.bz2
> > wget ftp://ftp.kernel.org/pub/linux/kernel/v2.6/testing/patch-2.6.15-rc1.bz2
> > wget
> > http://user-mode-linux.sourceforge.net/work/current/2.6/2.6.15-rc1/patches.tar
> > tar -xf patches.tar
> > tar -jxf linux-2.6.14.tar.bz2
> > mv linux-2.6.14 linux-2.6.15-rc1-uml
> > cd linux-2.6.15-rc1-uml
> > bzcat ../patch-2.6.15-rc1.bz2 | patch -p1
> > for patch in `cat ../patches/series`; do echo $patch; patch -p1 <
> > ../patches/$patch; done
> > find . -type f -size 0 -exec rm {} \;
> > make ARCH=um defconfig
> > make ARCH=um vmlinux
> > LD arch/um/drivers/net.o
> > LD arch/um/drivers/mconsole.o
> > LD arch/um/drivers/ubd.o
> > CC arch/um/drivers/null.o
> > LD arch/um/drivers/port.o
> > CC arch/um/drivers/pty.o
> > CC arch/um/drivers/tty.o
> > CC arch/um/drivers/cow_user.o
> > CC arch/um/drivers/random.o
> > LD arch/um/drivers/built-in.o
> > CC arch/um/os-Linux/aio.o
> > arch/um/os-Linux/aio.c: In function ‘init_aio_26’:
> > arch/um/os-Linux/aio.c:402: error: ‘finish_aio_26’ undeclared (first use in
> > this function)
> > arch/um/os-Linux/aio.c:402: error: (Each undeclared identifier is reported
> > only once
> > arch/um/os-Linux/aio.c:402: error: for each function it appears in.)
> > make[1]: *** [arch/um/os-Linux/aio.o] Error 1
> > make: *** [arch/um/os-Linux] Error 2
> >
> > Antoine
--- linux-2.6.15-rc1-uml/arch/um/os-Linux/aio.c 2005-11-22 18:14:55.000000000 +0000
+++ linux-2.6.15-rc1-uml-fixed/arch/um/os-Linux/aio.c 2005-11-22 18:34:24.000000000 +0000
@@ -41,8 +41,10 @@
return 0;
}
+#define HAVE_AIO_ABI 1
+
#if defined(HAVE_AIO_ABI)
-#include <linux/aio_abi.h>
+#include </usr/src/linux/include/linux/aio_abi.h>
/* If we have the headers, we are going to build with AIO enabled.
* If we don't have aio in libc, we define the necessary stubs here.