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.