[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#523424: [linux-libc-dev] header clash between <linux/types.h> and <stdint.h>



Package: linux-libc-dev
Version: 2.6.29-2
Severity: important

--- Please enter the report below this line. ---
With kernel 2.6.29 there has been a change from asm/types.h to linux/types.h for a lot of the kernel includes:

-#include <asm/types.h>
+#include <linux/types.h>

This leads to FTBS errors like the one from VDR - see snippet A below. A short test for this is to compile, this:

    #include <linux/types.h>
    #include <stdint.h>

    int main() { return 0; }


There's a clash between linux/types.h and stdint.h because types.h defines some POSIX types defined in stdint.h as well.

Arnd Bergmann already prepared a patch for this, which unfortunately didn't made it into 2.6.29.

See:

http://lkml.indiana.edu/hypermail/linux/kernel/0902.3/index.html#00955
http://git.kernel.org/?p=linux/kernel/git/jaswinder/linux-2.6-tip.git;a=shortlog;h=core/header-fixes

I've just applied the whole patchset from the core/header-fixes branch and it works fine.

As far as I can see, these changes already made it into Linus' kernel tree.

Tobias

--- snippet A ---

In file included from /usr/include/netinet/in.h:24,
                 from /usr/include/arpa/inet.h:23,
                 from config.h:13,
                 from channels.h:13,
                 from device.h:13,
                 from dvbdevice.h:15,
                 from dvbdevice.c:10:
/usr/include/stdint.h:41: error: conflicting declaration 'typedef long int
int64_t'
/usr/include/linux/types.h:98: error: 'int64_t' has a previous declaration
as 'typedef __s64 int64_t'
/usr/include/stdint.h:56: error: conflicting declaration 'typedef long
unsigned int uint64_t'
/usr/include/linux/types.h:96: error: 'uint64_t' has a previous
declaration as 'typedef __u64 uint64_t'

--- System information. ---
Architecture: amd64
Kernel:       Linux 2.6.28-etobi.2-amd64

Debian Release: squeeze/sid
  900 testing         www.debian-multimedia.org 
  900 testing         security.debian.org 
  900 testing         ftp.de.debian.org 
  500 stable          ftp.de.debian.org 

--- Package information. ---
Depends       (Version) | Installed
=======================-+-===========
                        | 






Reply to: