← Back to team overview

cross-toolchain-base-devs team mailing list archive

Bug#798409: linux-libc-dev-armhf-cross: arm-specific linux/i2c-dev.h is missing critical declarations

 

Control: reassign -1 libi2c-dev

On Tue, 08 Sep 2015 14:30:50 -0700 Dima Kogan <dima@xxxxxxxxxxxxxxx> wrote:
> Package: linux-libc-dev-armhf-cross
> Version: 4.1.6-1cross1
> Severity: important
> 
> Hi. I'm trying to cross-build a simple userspace application that uses
> the i2c bus. This does
> 
>   #include <linux/i2c-dev.h>
> 
> When building natively, this works fine. The #include pulls in
> 
>   /usr/include/linux/i2c-dev.h
> 
> There's a diversion involved, and it looks like this:
> 
>   $ dpkg -S /usr/include/linux/i2c-dev.h
> 
>   diversion by libi2c-dev from: /usr/include/linux/i2c-dev.h
>   diversion by libi2c-dev to: /usr/include/linux/i2c-dev.h.kernel
>   linux-libc-dev:amd64, libi2c-dev, linux-libc-dev:armhf: /usr/include/linux/i2c-dev.h
> 
> linux-libc-dev-armhf-cross puts a copy of this header into a different
> directory, thus bypassing the diversion. Thus cross-building the
> application instead #includes
> 
>   /usr/arm-linux-gnueabihf/include/linux/i2c-dev.h
> 
> This file is missing critical chunks, which the diversion took care of.
> So with the -cross business you can't cross build i2c applications. Is
> it required to ship the arm-specific i2c-dev.h file at all? It is
> identical to the non-arm-specific diverted one.

Those definitions are in <linux/i2c.h>, and have been since Linux 2.4.0
-test5pre5.  I think the diversion should be removed from
libi2c-dev and this application should include both <linux/i2c.h> and
<linux/i2c-dev.h>.

Ben.

-- 
Ben Hutchings
Knowledge is power.  France is bacon.

Attachment: signature.asc
Description: This is a digitally signed message part