On Fri, Aug 17, 2007 at 10:43:02PM +0200, Peder Chr. Nørgaard wrote: > Package: user-mode-linux > Version: 2.6.21-1um-1 > Severity: important > Justification: fails to build from source > > This is a slightly tricky FTBFS report. The fundamental bug is probably of > upstream origin > - I have had similar problems building recent user-mode-linux'es under other > distros. > > The actual problem is, that if I try to do a dpkg-buildpackage on a recent > "sid" debian, it fails (I cannot do a "pbuilder build" because of #436388 and > the fact that linux-source-2.6.21 is no longer found on the debian servers). > > The failure is a simple compilation failure: > > gcc -Wp,-MD,arch/um/os-Linux/.aio.o.d -Wall -Wundef -Wstrict-prototypes > -Wno-trigraphs -fno-strict-aliasing -fno-common -Os -D__arch_um__ > -DSUBARCH=\"i386\" -Dvmap=kernel_vmap > -Din6addr_loopback=kernel_in6addr_loopback -march=i486 -mtune=generic > -mpreferred-stack-boundary=2 -ffreestanding -D_LARGEFILE64_SOURCE > -fno-unit-at-a-time -fno-omit-frame-pointer -fno-optimize-sibling-calls -g > -fno-stack-protector -Wdeclaration-after-statement -Wno-pointer-sign > -Iarch/um/include > -I/home/pcn/debian_src/user-mode-linux-2.6.21-1um/linux-source-2.6.21/arch/um/include/skas > -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE -D_LARGEFILE64_SOURCE -DHAVE_AIO_ABI -c > -o arch/um/os-Linux/aio.o arch/um/os-Linux/aio.c > arch/um/os-Linux/aio.c: In function 'do_aio': > arch/um/os-Linux/aio.c:80: error: unknown field 'aio_reserved3' specified in > initializer > > Now, why is this struct member 'aio_reserved3' missing? If you check the > file aio_abi.h in the
it was simply removed :) this is needed http://marc.info/?l=user-mode-linux-devel&m=118521982227031&q=raw ... > So the fundamental problem is not that a struct member has been removed from > a struct between > 2.6.21 and 2.6.22 - it is that the compilation command is missing the > "-Iinclude" option. It is > quite obvious that the building of user-mode-linux - or any kernel building, > actually - may not > depend on whatever is currently installed in /usr/include - it must take all > include files from > the kernel build directory itself. not the user-mode kernel, it needs some userspace libraries. going to upload a 2.6.22 fixed version -- mattia :wq!