Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 577846 - app-admin/collectd[collectd_plugins_iptables] - econf failure with >=sys-kernel/linux-headers-4.5
Summary: app-admin/collectd[collectd_plugins_iptables] - econf failure with >=sys-kern...
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Thomas Deutschmann (RETIRED)
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2016-03-20 16:57 UTC by Thomas Deutschmann (RETIRED)
Modified: 2017-05-09 13:40 UTC (History)
6 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Thomas Deutschmann (RETIRED) gentoo-dev 2016-03-20 16:57:46 UTC
[...]
checking libiptc/libiptc.h usability... no
checking libiptc/libiptc.h presence... yes
configure: WARNING: libiptc/libiptc.h: present but cannot be compiled
configure: WARNING: libiptc/libiptc.h:     check for missing prerequisite headers?
configure: WARNING: libiptc/libiptc.h: see the Autoconf documentation
configure: WARNING: libiptc/libiptc.h:     section "Present But Cannot Be Compiled"
configure: WARNING: libiptc/libiptc.h: proceeding with the compiler's result
checking for libiptc/libiptc.h... no
checking libiptc/libip6tc.h usability... no
checking libiptc/libip6tc.h presence... yes
configure: WARNING: libiptc/libip6tc.h: present but cannot be compiled
configure: WARNING: libiptc/libip6tc.h:     check for missing prerequisite headers?
configure: WARNING: libiptc/libip6tc.h: see the Autoconf documentation
configure: WARNING: libiptc/libip6tc.h:     section "Present But Cannot Be Compiled"
configure: WARNING: libiptc/libip6tc.h: proceeding with the compiler's result
checking for libiptc/libip6tc.h... no
[...]
    libiptc . . . . . . . no (header file missing)
[...]
    iptables  . . . . . . no (dependency error)
[...]
configure: error: "Some plugins are missing dependencies - see the summary above for details"


Not sure what this is causing at the moment because it was working when collectd-5.5.1 was added. Candidates:

- autoconf-2.69-r2
- pkgconfig-0.29.1
- linux-header-4.4
Comment 1 Thomas Deutschmann (RETIRED) gentoo-dev 2016-03-20 20:57:26 UTC
OK, it works with <sys-kernel/linux-headers-4.5.
Comment 2 Thomas Deutschmann (RETIRED) gentoo-dev 2016-03-20 21:24:50 UTC
Problem is

> configure:21786: checking libiptc/libiptc.h usability
> configure:21786: x86_64-pc-linux-gnu-gcc -c -O2 -pipe -march=ivybridge -mtune=ivybridge -mno-xsaveopt   conftest.c >&5
> In file included from /usr/include/libiptc/ipt_kernel_headers.h:13:0,
>                  from /usr/include/libiptc/libiptc.h:6,
>                  from conftest.c:231:
> /usr/include/linux/if.h:71:2: error: redeclaration of enumerator 'IFF_UP'
>   IFF_UP    = 1<<0,  /* sysfs */
>   ^
> /usr/include/net/if.h:44:5: note: previous definition of 'IFF_UP' was here
>      IFF_UP = 0x1,  /* Interface is up.  */
>      ^
> /usr/include/linux/if.h:72:2: error: redeclaration of enumerator 'IFF_BROADCAST'
>   IFF_BROADCAST   = 1<<1,  /* __volatile__ */
>   ^
> /usr/include/net/if.h:46:5: note: previous definition of 'IFF_BROADCAST' was here
>      IFF_BROADCAST = 0x2, /* Broadcast address valid.  */
>      ^
> /usr/include/linux/if.h:73:2: error: redeclaration of enumerator 'IFF_DEBUG'
>   IFF_DEBUG   = 1<<2,  /* sysfs */
>   ^
> /usr/include/net/if.h:48:5: note: previous definition of 'IFF_DEBUG' was here
>      IFF_DEBUG = 0x4,  /* Turn on debugging.  */
>      ^
> /usr/include/linux/if.h:74:2: error: redeclaration of enumerator 'IFF_LOOPBACK'
>   IFF_LOOPBACK   = 1<<3,  /* __volatile__ */
>   ^
> /usr/include/net/if.h:50:5: note: previous definition of 'IFF_LOOPBACK' was here
>      IFF_LOOPBACK = 0x8,  /* Is a loopback net.  */
>      ^
> /usr/include/linux/if.h:75:2: error: redeclaration of enumerator 'IFF_POINTOPOINT'
>   IFF_POINTOPOINT   = 1<<4,  /* __volatile__ */
>   ^
> /usr/include/net/if.h:52:5: note: previous definition of 'IFF_POINTOPOINT' was here
>      IFF_POINTOPOINT = 0x10, /* Interface is point-to-point link.  */
>      ^
> /usr/include/linux/if.h:76:2: error: redeclaration of enumerator 'IFF_NOTRAILERS'
>   IFF_NOTRAILERS   = 1<<5,  /* sysfs */
>   ^
> /usr/include/net/if.h:54:5: note: previous definition of 'IFF_NOTRAILERS' was here
>      IFF_NOTRAILERS = 0x20, /* Avoid use of trailers.  */
>      ^
> /usr/include/linux/if.h:77:2: error: redeclaration of enumerator 'IFF_RUNNING'
>   IFF_RUNNING   = 1<<6,  /* __volatile__ */
>   ^
> /usr/include/net/if.h:56:5: note: previous definition of 'IFF_RUNNING' was here
>      IFF_RUNNING = 0x40,  /* Resources allocated.  */
>      ^
> /usr/include/linux/if.h:78:2: error: redeclaration of enumerator 'IFF_NOARP'
>   IFF_NOARP   = 1<<7,  /* sysfs */
>   ^
> /usr/include/net/if.h:58:5: note: previous definition of 'IFF_NOARP' was here
>      IFF_NOARP = 0x80,  /* No address resolution protocol.  */
>      ^
> /usr/include/linux/if.h:79:2: error: redeclaration of enumerator 'IFF_PROMISC'
>   IFF_PROMISC   = 1<<8,  /* sysfs */
>   ^
> /usr/include/net/if.h:60:5: note: previous definition of 'IFF_PROMISC' was here
>      IFF_PROMISC = 0x100, /* Receive all packets.  */
>      ^
> /usr/include/linux/if.h:80:2: error: redeclaration of enumerator 'IFF_ALLMULTI'
>   IFF_ALLMULTI   = 1<<9,  /* sysfs */
>   ^
> /usr/include/net/if.h:64:5: note: previous definition of 'IFF_ALLMULTI' was here
>      IFF_ALLMULTI = 0x200, /* Receive all multicast packets.  */
>      ^
> /usr/include/linux/if.h:81:2: error: redeclaration of enumerator 'IFF_MASTER'
>   IFF_MASTER   = 1<<10, /* __volatile__ */
>   ^
> /usr/include/net/if.h:67:5: note: previous definition of 'IFF_MASTER' was here
>      IFF_MASTER = 0x400,  /* Master of a load balancer.  */
>      ^
> /usr/include/linux/if.h:82:2: error: redeclaration of enumerator 'IFF_SLAVE'
>   IFF_SLAVE   = 1<<11, /* __volatile__ */
>   ^
> /usr/include/net/if.h:69:5: note: previous definition of 'IFF_SLAVE' was here
>      IFF_SLAVE = 0x800,  /* Slave of a load balancer.  */
>      ^
> /usr/include/linux/if.h:83:2: error: redeclaration of enumerator 'IFF_MULTICAST'
>   IFF_MULTICAST   = 1<<12, /* sysfs */
>   ^
> /usr/include/net/if.h:72:5: note: previous definition of 'IFF_MULTICAST' was here
>      IFF_MULTICAST = 0x1000, /* Supports multicast.  */
>      ^
> /usr/include/linux/if.h:84:2: error: redeclaration of enumerator 'IFF_PORTSEL'
>   IFF_PORTSEL   = 1<<13, /* sysfs */
>   ^
> /usr/include/net/if.h:75:5: note: previous definition of 'IFF_PORTSEL' was here
>      IFF_PORTSEL = 0x2000, /* Can set media type.  */
>      ^
> /usr/include/linux/if.h:85:2: error: redeclaration of enumerator 'IFF_AUTOMEDIA'
>   IFF_AUTOMEDIA   = 1<<14, /* sysfs */
>   ^
> /usr/include/net/if.h:77:5: note: previous definition of 'IFF_AUTOMEDIA' was here
>      IFF_AUTOMEDIA = 0x4000, /* Auto media select active.  */
>      ^
> /usr/include/linux/if.h:86:2: error: redeclaration of enumerator 'IFF_DYNAMIC'
>   IFF_DYNAMIC   = 1<<15, /* sysfs */
>   ^
> /usr/include/net/if.h:79:5: note: previous definition of 'IFF_DYNAMIC' was here
>      IFF_DYNAMIC = 0x8000 /* Dialup device with changing addresses.  */
>      ^
> In file included from /usr/include/linux/netfilter_ipv4/ip_tables.h:20:0,
>                  from /usr/include/libiptc/libiptc.h:12,
>                  from conftest.c:231:
> /usr/include/linux/if.h:169:8: error: redefinition of 'struct ifmap'
>  struct ifmap {
>         ^
> In file included from /usr/include/libiptc/ipt_kernel_headers.h:13:0,
>                  from /usr/include/libiptc/libiptc.h:6,
>                  from conftest.c:231:
> /usr/include/net/if.h:111:8: note: originally defined here
>  struct ifmap
>         ^
> In file included from /usr/include/linux/netfilter_ipv4/ip_tables.h:20:0,
>                  from /usr/include/libiptc/libiptc.h:12,
>                  from conftest.c:231:
> /usr/include/linux/if.h:203:8: error: redefinition of 'struct ifreq'
>  struct ifreq {
>         ^
> In file included from /usr/include/libiptc/ipt_kernel_headers.h:13:0,
>                  from /usr/include/libiptc/libiptc.h:6,
>                  from conftest.c:231:
> /usr/include/net/if.h:126:8: note: originally defined here
>  struct ifreq
>         ^
> In file included from /usr/include/linux/netfilter_ipv4/ip_tables.h:20:0,
>                  from /usr/include/libiptc/libiptc.h:12,
>                  from conftest.c:231:
> /usr/include/linux/if.h:252:8: error: redefinition of 'struct ifconf'
>  struct ifconf  {
>         ^
> In file included from /usr/include/libiptc/ipt_kernel_headers.h:13:0,
>                  from /usr/include/libiptc/libiptc.h:6,
>                  from conftest.c:231:
> /usr/include/net/if.h:176:8: note: originally defined here
>  struct ifconf
>         ^

Introduced with https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=1ffad83dffd675cd742286ae82dca7d746cb0da8
Comment 3 Thomas Deutschmann (RETIRED) gentoo-dev 2016-03-20 23:21:07 UTC
OK, I need some help where to start:

a) Is it an issue from linux-4.5? I don't think so. The changes looks like a wanted change. See also https://bugzilla.redhat.com/show_bug.cgi?id=1300256

b) Is it a problem with net-firewall/iptables which is owning "/usr/include/libiptc/ipt_kernel_headers.h" and "/usr/include/libiptc/libiptc.h"? Does iptables need an adjustment due to the changed linux headers?

c) Is it a problem with sys-libs/glibc (I am using 2.22-r2) which owns "/usr/include/net/if.h"? See https://sourceware.org/ml/libc-help/2016-02/msg00004.html

d) Is it a problem within app-admin/collectd?

e) Something else?

CC'ing toolchain@gentoo.org (maintaining sys-libs/glibc and sys-kernel/linux-headers) and base-system@gentoo.org (maintaining net-firewall/iptables) to get some help.

For me it looks like a sys-libs/glibc needs to pick up the kernel changes...


PS: I also created an issue upstream at https://github.com/collectd/collectd/issues/1623
Comment 4 Thomas Deutschmann (RETIRED) gentoo-dev 2016-03-21 14:27:22 UTC
For upstream, the problem is in net-firewall/iptables, see https://bugzilla.redhat.com/show_bug.cgi?id=1239213

However I still see the problem in glibc.

Also upstream run into the problem with linux-headers-4.2. However on Gentoo the latest working linux-headers version is =sys-kernel/linux-headers-4.4.
Comment 5 Thomas Deutschmann (RETIRED) gentoo-dev 2016-03-29 16:27:19 UTC
FYI: I rev-bumped the ebuild mainly to fix a build issue with recent xfsprogs-4.5.0. But I also set DEPEND="collectd_plugins_iptables? ( <=sys-kernel/linux-headers-4.4 )" to workaround this bug until we solve it in the right place. See https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=5fb0a46e73890b4189cdeb73523e1dde0cea9429
Comment 6 Thomas Deutschmann (RETIRED) gentoo-dev 2016-06-13 10:08:13 UTC
@ Toolchain / Base-System team:

Still waiting for feedback from you, see comment #3.
Comment 7 Thomas Deutschmann (RETIRED) gentoo-dev 2017-05-09 13:40:42 UTC
Looks like the problem was resolved upstream in >=linux-headers-4.6. I am no longer able to reproduce the problem with >=linux-headers-4.6 (still failing with linux-headers-4.5).

I adjusted dependencies, https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=05af73379050733e8954653d02145b5c7abfe38b