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

Bug#429064: marked as done (linux-libc-dev: <linux/types.h> conflicts with <sys/ustat.h>)

Your message dated Fri, 15 Jun 2007 21:22:12 +0200
with message-id <4672E6E4.2070103@aurel32.net>
and subject line Bug#429064: linux-libc-dev: <linux/types.h> conflicts with <sys/ustat.h>
has caused the attached Bug report to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what I am
talking about this indicates a serious mail system misconfiguration
somewhere.  Please contact me immediately.)

Debian bug tracking system administrator
(administrator, Debian Bugs database)

--- Begin Message ---
Package: linux-libc-dev
Version: 2.6.21-4
Severity: serious
Justification: causes build failures (#428944)

<linux/types.h> can't be used together with <sys/ustat.h> because they
both define struct ustat:

    $ cat test.c
    #include <sys/ustat.h>
    #include <linux/types.h>
    $ gcc -c test.c
    In file included from test.c:2:
    /usr/include/linux/types.h:165: error: redefinition of 'struct ustat'

linux-kernel-headers solved this by removing the definition from
<linux/types.h> -- see debian/patches/linux-types-ustat.patch:

--- include/linux/types.h.orig	2006-06-10 00:16:51.962628154 -0400
+++ include/linux/types.h	2006-06-10 00:20:28.592333583 -0400
@@ -188,11 +188,14 @@
 typedef unsigned __bitwise__ gfp_t;
+#if 0
+/* Debian: This is available from <sys/ustat.h>.  */
 struct ustat {
 	__kernel_daddr_t	f_tfree;
 	__kernel_ino_t		f_tinode;
 	char			f_fname[6];
 	char			f_fpack[6];
 #endif /* _LINUX_TYPES_H */



--- End Message ---
--- Begin Message ---
Bastian Blank a écrit :
> reassign 429064 libc6-dev
> thanks
> On Fri, Jun 15, 2007 at 08:56:37PM +0200, Aurelien Jarno wrote:
>> The definition of the structure ustat in sys/ustat.h is associated with
>> the C function ustat() since glibc 2.0 and in HP-UX. You can't simply
>> remove it and standard.
> bits/ustat.h is system specific.
>> linux-libc-dev should not directly export a kernel structure. Either
>> remove it or use #ifdef __KERNEL__, but don't bother us with that.
> It is part of the userspace interface which is redefined in
> bits/ustat.h.
> Anyway, it is no bug in the kernel to export its userspace interface.

The glibc is correct here. If you don't want to get the bug assigned on
linux-2.6, then I am closing the bug.

  .''`.  Aurelien Jarno	            | GPG: 1024D/F1BCDB73
 : :' :  Debian developer           | Electrical Engineer
 `. `'   aurel32@debian.org         | aurelien@aurel32.net
   `-    people.debian.org/~aurel32 | www.aurel32.net

--- End Message ---

Reply to: