Hi,

I think I know what's going on here. :-)

On 05/22/2016 01:55 AM, Clemens Gruber wrote:
> Hi,
> 
> I need some features from the new iproute2 4.6, but there seem to be
> some kernel header vs glibc header incompatibilities occuring when
> building the new iproute2 4.6 for ptxdist.
> 
> Two examples of the numerous build errors on ptxdist 2016.04.0, a
> toolchain with glibc 2.22 and kernel + kernel-headers version 4.6.
> 
> In file included from m_ipt.c:17:0:
> ../include/linux/if.h:106:19: error: redeclaration of enumerator 'IFF_UP'
>  #define IFF_UP    IFF_UP
>                    ^
> ../include/linux/if.h:79:2: note: previous definition of 'IFF_UP' was here
>   IFF_UP    = 1<<0,  /* sysfs */
>   ^~~~~~
> 
> In file included from ../include/xtables.h:16:0,
>                  from ../include/iptables.h:5,
>                  from m_ipt.c:18:
> TOOLCHAIN/sysroot-arm-v7a-linux-gnueabihf/usr/include/net/if.h:111:8: error: 
> redefinition of 'struct ifmap'

here, you already replaced the TOOLCHAIN path and it uses the
kernel-headers from toolchain, not ptxdist.

>  struct ifmap
>         ^~~~~
> In file included from m_ipt.c:17:0:
> ../include/linux/if.h:189:8: note: originally defined here

I suppose it's a relative include from your TOOLCHAIN kernel-headers.

The solution would be that you need to tell the iproute2 buildsystem
where the kernel-headers are which you want to use.

E.g. (running fast grep on ptxdist dir)

rules/bridge-utils.make: --with-linux-headers=$(KERNEL_HEADERS_DIR)

which can be checked by:

ptxdist print KERNEL_HEADERS_DIR

in your BSP and this directory should be use to search kernel headers.

>  struct ifmap {
>         ^~~~~
> 
> There is a commit in version 4.6 of iproute2, which should already have fixed
> these build errors:
> http://git.kernel.org/cgit/linux/kernel/git/shemminger/iproute2.git/commit/?id=8a781d7e2580e14f097b23a7c4731bafc800a824
> 

That's a fallback and it seems that iproute2 prefers the toolchain one.

- Alex

_______________________________________________
ptxdist mailing list
[email protected]

Reply via email to