reassign 439133 util-vserver
severity serious
thanks

On Wed, Aug 22, 2007 at 10:49:59AM -0400, Micah Anderson wrote:
> Package: e2fslibs-dev
> Version: 1.40.2-1
> Severity: important
> 
> When building the package util-vserver, I get these compiler errors:

The problem is that util-vserver is using #define __STRICT_ANSI__ when
it includes linux/types.h, which inhibits the definition of __u64,
since unsigned long long isn't in struct c89.  

E2fsprogs is getting extended to support ext4, so it's referencing
64-bit fields, so it *is* going to be using __u64 which on 32 bit
systems turns into "unsigned long long".

So this isn't a e2fsprogs bug, it's a util-vserver FTBFS problem.  And
the fix is to #undef __STRICT_ANSI__, at least around the #include
linux/types.h and to be safe, also around the #include of ext2fs/ext2_fs.h

For example, if you try the following program it compiles just fine
with "cc -o /tmp/foo /tmp/foo.c":

/*
 * foo.c
 */
#include <stdio.h>
#include <unistd.h>
#include <stdlib.h>
#include <linux/types.h>
#include <ext2fs/ext2_fs.h>

int main(int argc, char **argv)
{
        __u64 a = 1;
        
        printf("hello, world #%lld\n", a);
        exit(0);
}

If you add -D__STRICT_ANSI__, you'll get the same failure that you reported.

                                                     - Ted


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

Reply via email to