On 03/06/2012 05:47 PM, Cui, Dexuan wrote:
Robert Yang wrote on 2012-03-06:
Hi Tom,
Thanks for the update, the root cause is that iptables offers a kernel
header file include/linux/types.h, but it mis-matches the kernel in
the sysroot, we can add this:
#define __aligned_u64 __u64 __attribute__((aligned(8)))
to:
iptables-1.4.12.2/include/linux/types.h
to fix this problem.

Another solution is that as Dexuan suggested we change the order of
the include header files, but I'm afraid that may cause other
problems, since I think that the pkg's own header file should have a
higher priority than the system's, so I think that the current order is correct.
My understanding is:
Recently the preferred linux-libc-headers was upgraded to 
linux-libc-headers-yocto-3.2, that introduced a new struct tpacket_hdr_v1 in 
linux/if_packet.h and the new struct uses __aligned_u64 but __aligned_u64 is 
not defined in iptables's own linux/types.h
Currently in iptables's makefile, its own linux/types.h comes first than that 
one in our sysroot in the header file search order, and I noticed iptables 
doesn't have a file linux/if_packet.h. So, with our sysroot's 
linux/if_package.h and iptables's own linux/types, we get the failure.


Yes, you are right:-)

If we define __aligned_u64 _ in iptables's own linux/types.h, we're still using 
our sysroot's linux/if_packet.h with iptables's linux/types.h -- I think this 
is not correct even if the build can pass?  I think we should use header files 
consistently.


Yes, I agree with you ,I was going to change the older of the header files
at first, but after thought for a while, I don't know why iptables carries
part of the kernel header files, I don't know whether change the order of
the headers would cause other problems. I checked the linux/if_packet.h when
MACHINE=qemux86, it is different from the crownbay's, it doesn't have the
__aligned_u64, so I choose the simple and impact less way to fix it:-)

Anyway, if you insist on changing the order, I will try to do it.

// Robert


Thanks,
-- Dexuan


_______________________________________________
yocto mailing list
yocto@yoctoproject.org
https://lists.yoctoproject.org/listinfo/yocto

Reply via email to