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.

Reply via email to