2018-01-17 07:59:44

by Daniel Wagner

[permalink] [raw]
Subject: Re: ipv6 redefinition build issue with 4.15-rc8

Hi Neil,

On 01/16/2018 07:51 PM, Neil MacLeod wrote:
> Since this commit in 4.15-rc8:
>
> https://github.com/torvalds/linux/commit/6926e041a8920c8ec27e4e155efa760aa01551fd
>
> building connman 1.35 with glibc 2.26 now fails as follows:
>
> http://ix.io/EbP
>
> I'm not sure if this is a kernel issue, a glibc issue, or a connman issue.
>
> Reverting the kernel commit resolves the issue, but isn't ideal (unless
> it's the correct solution, of course).
>
> Does anyone have any better ideas?

Since ConnMan does not redefine 'struct in6_addr' and friends I would
say it is kernel/glibc header include problem. But I might be wrong here.

@Hauke: Do you happen to know what is going on?

Thanks,
Daniel


2018-01-17 08:34:15

by Hauke Mehrtens

[permalink] [raw]
Subject: Re: ipv6 redefinition build issue with 4.15-rc8



On 01/17/2018 08:59 AM, Daniel Wagner wrote:
> Hi Neil,
>
> On 01/16/2018 07:51 PM, Neil MacLeod wrote:
>> Since this commit in 4.15-rc8:
>>
>> https://github.com/torvalds/linux/commit/6926e041a8920c8ec27e4e155efa760aa01551fd
>>
>>
>> building connman 1.35 with glibc 2.26 now fails as follows:
>>
>> http://ix.io/EbP
>>
>> I'm not sure if this is a kernel issue, a glibc issue, or a connman
>> issue.
>>
>> Reverting the kernel commit resolves the issue, but isn't ideal
>> (unless it's the correct solution, of course).
>>
>> Does anyone have any better ideas?
>
> Since ConnMan does not redefine 'struct in6_addr' and friends I would
> say it is kernel/glibc header include problem. But I might be wrong here.
>
> @Hauke: Do you happen to know what is going on?
>
> Thanks,
> Daniel

Hi,

my assumption is that connman uses a strange include order. Can you try
to remove the #include <linux/libc-compat.h> from from
include/uapi/linux/if_ether.h please. This would not be the final
solution but would help to understand the problem better.

I will look into this more closely in the evening.

Hauke

2018-01-17 09:25:06

by Jonas Bonn

[permalink] [raw]
Subject: Re: ipv6 redefinition build issue with 4.15-rc8

On 01/17/2018 08:59 AM, Daniel Wagner wrote:
> Hi Neil,
>
> On 01/16/2018 07:51 PM, Neil MacLeod wrote:
>> Since this commit in 4.15-rc8:
>>
>> https://github.com/torvalds/linux/commit/6926e041a8920c8ec27e4e155efa760aa01551fd
>>
>>
>> building connman 1.35 with glibc 2.26 now fails as follows:
>>
>> http://ix.io/EbP
>>
>> I'm not sure if this is a kernel issue, a glibc issue, or a connman
>> issue.
>>
>> Reverting the kernel commit resolves the issue, but isn't ideal
>> (unless it's the correct solution, of course).
>>
>> Does anyone have any better ideas?

Try switching the order of these headers around (src/tethering.c)...
netinet/in.h seems to depend on linux/in.h being included _first_ and
it's presumably being pulled in via linux/if_bridge.h now as a result of
the kernel patch (couldn't immediately see why, though... I suspect the
inclusion of libc-compat.h is the culprit.)

#include <netinet/in.h>
#include <linux/if_bridge.h>

Yes, this is a hack and only masks the issue... nonetheless.

/Jonas


>
> Since ConnMan does not redefine 'struct in6_addr' and friends I would
> say it is kernel/glibc header include problem. But I might be wrong here.
>
> @Hauke: Do you happen to know what is going on?
>
> Thanks,
> Daniel
> _______________________________________________
> connman mailing list
> [email protected]
> https://lists.01.org/mailman/listinfo/connman