> did not spot -ansi flag anywhere in compiler flags.
You might be tripping over something different.
What I specifically thought it might be is in <linux/types.h>
there is a section that reads something like
#if defined(__GNUC__) && !defined(__STRICT_ANSI__)
typedef __u64 uint64_t;
typedef __u64 u_int64_t;
typedef __s64 int64_t;
#endif
I don't understand the reasoning behind this,
but it looks like if 1) GNU C is not indicated, -or-
if 2) ANSI C is indicated, then __u64 doesn't get typedef'ed.
I hope this helps.