On Wed, Aug 17, 2011 at 7:05 AM, <[email protected]> wrote:
> From: Bernhard Walle <[email protected]>
>
> When a toolchain without kernel headers (such as the Lite version from
> Codesourcery) or with very old kernel header is used, udev doesn't build
> because videodev.h is missing.
>
> This patch adds the $(KERNEL_HEADERS_INCLUDE_DIR) to the include path of
> udev like it's done for busybox or barebox.
>
> Tested on ARM with kernel headers 2.6.36.4 (the version
> OSELAS.Toolchain() is currently using).
>
> Signed-off-by: Bernhard Walle <[email protected]>
> ---
> rules/udev.make | 5 +++++
> 1 files changed, 5 insertions(+), 0 deletions(-)
>
> diff --git a/rules/udev.make b/rules/udev.make
> index ac2f0d4..b57bd01 100644
> --- a/rules/udev.make
> +++ b/rules/udev.make
> @@ -47,6 +47,11 @@ $(UDEV_SOURCE):
>
> #
> # autoconf
> +
> +UDEV_CONF_ENV := \
> + $(CROSS_ENV) \
> + CPPFLAGS="-I$(KERNEL_HEADERS_INCLUDE_DIR) $(CROSS_CPPFLAGS)"
> +
This breaks udev for me. #include <scsi/scsi.h> includes the wrong header file:
--------------------
target: udev.compile
--------------------
make[1]: Entering directory
`${PTXDIST_WORKSPACE}/platform-initramfs-ISC/build-target/udev-162'
make --no-print-directory all-recursive
Making all in .
CC libudev/libudev.lo
CC libudev/libudev-list.lo
CC libudev/libudev-util.lo
CC libudev/libudev-device.lo
CC libudev/libudev-enumerate.lo
CC libudev/libudev-monitor.lo
CC libudev/libudev-queue.lo
CC libudev/libudev-ctrl.lo
CC libudev/libudev-util-private.lo
CC libudev/libudev-device-private.lo
CC libudev/libudev-queue-private.lo
CC extras/firmware/extras_firmware_firmware-firmware.o
CC extras/ata_id/ata_id.o
CC extras/cdrom_id/cdrom_id.o
CC extras/collect/collect.o
CC extras/edd_id/edd_id.o
CC extras/floppy/create_floppy_devices.o
In file included from extras/ata_id/ata_id.c:32:0:
${PTXDIST_WORKSPACE}/platform-initramfs-ISC/sysroot-target/kernel-headers/include/scsi/scsi.h:152:2:
error: expected specifier-qualifier-list before 'u8'
${PTXDIST_WORKSPACE}/platform-initramfs-ISC/sysroot-target/kernel-headers/include/scsi/scsi.h:
In function 'scsi_varlen_cdb_length':
${PTXDIST_WORKSPACE}/platform-initramfs-ISC/sysroot-target/kernel-headers/include/scsi/scsi.h:163:44:
error: 'struct scsi_varlen_cdb_hdr' has no member named
'additional_cdb_length'
make[3]: *** [extras/ata_id/ata_id.o] Error 1
make[3]: *** Waiting for unfinished jobs....
CC extras/input_id/input_id.o
make[2]: *** [all-recursive] Error 1
make[1]: Leaving directory
`${PTXDIST_WORKSPACE}/platform-initramfs-ISC/build-target/udev-162'
make[1]: *** [all] Error 2
make: *** [${PTXDIST_WORKSPACE}/platform-initramfs-ISC/state/udev.compile]
Error 2
Jon
--
ptxdist mailing list
[email protected]