lkml.org 
[lkml]   [2004]   [Oct]   [27]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
Subject2.6.9 byteorder/little_endian.h __le64 type not defined for iproute2
Hi!

Compilation of iproute2 package fails on iptunnel.c because it includes
asm/byteorder.h which in turn includes linux/byteorder/little_endian.h
and in new 2.6.9 headers that declares function

static inline __le64 __cpu_to_le64p(const __u64 *p)

The __le64 type is not defined here. This happens because linux/types.h
defines this type only if __KERNEL_STRICT_NAMES is not defined. And by
default it is defined in features.h

I've tried to define it, but this creates conflicts for dev_t and other
types that are defined in sys/types.h

So, what should be the work around in this case?

Specifically the error is

make[1]: Entering directory `/tools/src/iproute2-2.6.9/ip'
gcc -D_GNU_SOURCE -O2 -Wstrict-prototypes -Wall -g -I../include -DRESOLVE_HOSTNAMES -c -o iptunnel.o iptunnel.c
In file included from /usr/include/asm/byteorder.h:31,
from iptunnel.c:29:
/usr/include/linux/byteorder/little_endian.h:43: error: parse error before "__cpu_to_le64p"
/usr/include/linux/byteorder/little_endian.h: In function `__cpu_to_le64p':
/usr/include/linux/byteorder/little_endian.h:45: error: `__le64' undeclared (first use in this function)
....

Andrei
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/

\
 
 \ /
  Last update: 2005-03-22 14:07    [W:0.043 / U:0.504 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site