Messages in this thread | | | Date | Wed, 27 Oct 2004 14:24:17 +0200 | From | "Andrei A. Voropaev" <> | Subject | 2.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/
| |