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]

Reply via email to