diff mbox series

[1/1] package/linuxptp: fix build with new headers

Message ID 20190224204931.2759-1-panfilov.artyom@gmail.com
State Accepted
Headers show
Series [1/1] package/linuxptp: fix build with new headers | expand

Commit Message

Artem Panfilov Feb. 24, 2019, 8:49 p.m. UTC
net_tstamp.h in recent kernel versions requires time.h for clockid_t.

Fixes:
  http://autobuild.buildroot.net/results/93903e8abfeaa7df0b6525033fa63e29f2c9e7ae
Signed-off-by: Artem Panfilov <panfilov.artyom@gmail.com>
---
 ...fix-building-with-new-kernel-headers.patch | 55 +++++++++++++++++++
 1 file changed, 55 insertions(+)
 create mode 100644 package/linuxptp/0002-fix-building-with-new-kernel-headers.patch

Comments

Baruch Siach Feb. 25, 2019, 5:58 a.m. UTC | #1
Hi Artem,

On Sun, Feb 24, 2019 at 11:49:31PM +0300, Artem Panfilov wrote:
> net_tstamp.h in recent kernel versions requires time.h for clockid_t.

This is a kernel bug. Kernel UAPI headers must not use the userspace clockid_t 
type. This bug has been fixed in kernel commit e2c4cf7f98a5 ("net: Use 
__kernel_clockid_t in uapi net_stamp.h") just before the v4.20 release. It 
looks like this Linaro toolchain took the headers of a kernel -rc release.

Maybe update the Linaro toolchain to 2019.02 in master?
Romain?

baruch

> Fixes:
>   http://autobuild.buildroot.net/results/93903e8abfeaa7df0b6525033fa63e29f2c9e7ae
> Signed-off-by: Artem Panfilov <panfilov.artyom@gmail.com>
> ---
>  ...fix-building-with-new-kernel-headers.patch | 55 +++++++++++++++++++
>  1 file changed, 55 insertions(+)
>  create mode 100644 package/linuxptp/0002-fix-building-with-new-kernel-headers.patch
> 
> diff --git a/package/linuxptp/0002-fix-building-with-new-kernel-headers.patch b/package/linuxptp/0002-fix-building-with-new-kernel-headers.patch
> new file mode 100644
> index 0000000000..332e5491ff
> --- /dev/null
> +++ b/package/linuxptp/0002-fix-building-with-new-kernel-headers.patch
> @@ -0,0 +1,55 @@
> +From d663a483c40939bad58301c256d86da1f3da6cc0 Mon Sep 17 00:00:00 2001
> +From: Miroslav Lichvar <mlichvar@redhat.com>
> +Date: Tue, 13 Nov 2018 13:16:08 +0100
> +Subject: [PATCH] Fix building with new kernel headers.
> +
> +net_tstamp.h in recent kernel versions requires time.h for clockid_t.
> +
> +Signed-off-by: Miroslav Lichvar <mlichvar@redhat.com>
> +---
> + clock.c      | 2 +-
> + sk.c         | 1 +
> + timemaster.c | 1 +
> + 3 files changed, 3 insertions(+), 1 deletion(-)
> +
> +diff --git a/clock.c b/clock.c
> +index 9c493c3..8533b39 100644
> +--- a/clock.c
> ++++ b/clock.c
> +@@ -17,11 +17,11 @@
> +  * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
> +  */
> + #include <errno.h>
> ++#include <time.h>
> + #include <linux/net_tstamp.h>
> + #include <poll.h>
> + #include <stdlib.h>
> + #include <string.h>
> +-#include <time.h>
> + #include <sys/queue.h>
> + 
> + #include "address.h"
> +diff --git a/sk.c b/sk.c
> +index e2b1f28..30162eb 100644
> +--- a/sk.c
> ++++ b/sk.c
> +@@ -18,6 +18,7 @@
> +  * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
> +  */
> + #include <errno.h>
> ++#include <time.h>
> + #include <linux/net_tstamp.h>
> + #include <linux/sockios.h>
> + #include <linux/ethtool.h>
> +diff --git a/timemaster.c b/timemaster.c
> +index 058678f..00db59f 100644
> +--- a/timemaster.c
> ++++ b/timemaster.c
> +@@ -22,6 +22,7 @@
> + #include <errno.h>
> + #include <libgen.h>
> + #include <limits.h>
> ++#include <time.h>
> + #include <linux/net_tstamp.h>
> + #include <net/if.h>
> + #include <signal.h>
> -- 
> 2.19.1
> 
> _______________________________________________
> buildroot mailing list
> buildroot@busybox.net
> http://lists.busybox.net/mailman/listinfo/buildroot
Artem Panfilov Feb. 25, 2019, 6:24 a.m. UTC | #2
Hi Baruch,

On 25.02.2019 8:58, Baruch Siach wrote:> Maybe update the Linaro toolchain to 2019.02 in master?
> This is a kernel bug. Kernel UAPI headers must not use the userspace clockid_t 
> type. This bug has been fixed in kernel commit e2c4cf7f98a5 ("net: Use 
> __kernel_clockid_t in uapi net_stamp.h") just before the v4.20 release. It 
> looks like this Linaro toolchain took the headers of a kernel -rc release.

This patch is already in the master branch of linuxptp.
It depends when buildroot 2019.02 will be released.

Upgrading toolchain seems a cleaner solution for me.

Artem
Romain Naour Feb. 25, 2019, 10:40 p.m. UTC | #3
Hi Baruch, Artem, All,

Le 25/02/2019 à 06:58, Baruch Siach a écrit :
> Hi Artem,
> 
> On Sun, Feb 24, 2019 at 11:49:31PM +0300, Artem Panfilov wrote:
>> net_tstamp.h in recent kernel versions requires time.h for clockid_t.
> 
> This is a kernel bug. Kernel UAPI headers must not use the userspace clockid_t 
> type. This bug has been fixed in kernel commit e2c4cf7f98a5 ("net: Use 
> __kernel_clockid_t in uapi net_stamp.h") just before the v4.20 release. It 
> looks like this Linaro toolchain took the headers of a kernel -rc release.
> 
> Maybe update the Linaro toolchain to 2019.02 in master?
> Romain?

Actually it's not a Linaro toolchain anymore, it's an ARM toolchain.

Indeed, these toolchains use a 4.20 -rc kernel release.
I noticed it while updating to the 2018.11 release that was released one month
before the official kernel 4.20 release (respectively 23 Nov 2018 and 23 Dec
2018). I had to wait for BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_20 symbol in Buildroot.

The latest ARM toolchain 2019.01 release use 5.0-rc1 kernel release.
We can't include this version into Buildroot since the kernel 5.0 is not
released yet.

Maybe we should report this issue to https://bugs.linaro.org ?

Best regards,
Romain

> 
> baruch
> 
>> Fixes:
>>   http://autobuild.buildroot.net/results/93903e8abfeaa7df0b6525033fa63e29f2c9e7ae
>> Signed-off-by: Artem Panfilov <panfilov.artyom@gmail.com>
>> ---
>>  ...fix-building-with-new-kernel-headers.patch | 55 +++++++++++++++++++
>>  1 file changed, 55 insertions(+)
>>  create mode 100644 package/linuxptp/0002-fix-building-with-new-kernel-headers.patch
>>
>> diff --git a/package/linuxptp/0002-fix-building-with-new-kernel-headers.patch b/package/linuxptp/0002-fix-building-with-new-kernel-headers.patch
>> new file mode 100644
>> index 0000000000..332e5491ff
>> --- /dev/null
>> +++ b/package/linuxptp/0002-fix-building-with-new-kernel-headers.patch
>> @@ -0,0 +1,55 @@
>> +From d663a483c40939bad58301c256d86da1f3da6cc0 Mon Sep 17 00:00:00 2001
>> +From: Miroslav Lichvar <mlichvar@redhat.com>
>> +Date: Tue, 13 Nov 2018 13:16:08 +0100
>> +Subject: [PATCH] Fix building with new kernel headers.
>> +
>> +net_tstamp.h in recent kernel versions requires time.h for clockid_t.
>> +
>> +Signed-off-by: Miroslav Lichvar <mlichvar@redhat.com>
>> +---
>> + clock.c      | 2 +-
>> + sk.c         | 1 +
>> + timemaster.c | 1 +
>> + 3 files changed, 3 insertions(+), 1 deletion(-)
>> +
>> +diff --git a/clock.c b/clock.c
>> +index 9c493c3..8533b39 100644
>> +--- a/clock.c
>> ++++ b/clock.c
>> +@@ -17,11 +17,11 @@
>> +  * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
>> +  */
>> + #include <errno.h>
>> ++#include <time.h>
>> + #include <linux/net_tstamp.h>
>> + #include <poll.h>
>> + #include <stdlib.h>
>> + #include <string.h>
>> +-#include <time.h>
>> + #include <sys/queue.h>
>> + 
>> + #include "address.h"
>> +diff --git a/sk.c b/sk.c
>> +index e2b1f28..30162eb 100644
>> +--- a/sk.c
>> ++++ b/sk.c
>> +@@ -18,6 +18,7 @@
>> +  * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
>> +  */
>> + #include <errno.h>
>> ++#include <time.h>
>> + #include <linux/net_tstamp.h>
>> + #include <linux/sockios.h>
>> + #include <linux/ethtool.h>
>> +diff --git a/timemaster.c b/timemaster.c
>> +index 058678f..00db59f 100644
>> +--- a/timemaster.c
>> ++++ b/timemaster.c
>> +@@ -22,6 +22,7 @@
>> + #include <errno.h>
>> + #include <libgen.h>
>> + #include <limits.h>
>> ++#include <time.h>
>> + #include <linux/net_tstamp.h>
>> + #include <net/if.h>
>> + #include <signal.h>
>> -- 
>> 2.19.1
>>
>> _______________________________________________
>> buildroot mailing list
>> buildroot@busybox.net
>> http://lists.busybox.net/mailman/listinfo/buildroot
>
Peter Korsgaard Feb. 26, 2019, 12:12 p.m. UTC | #4
>>>>> "Romain" == Romain Naour <romain.naour@gmail.com> writes:

 > Hi Baruch, Artem, All,
 > Le 25/02/2019 à 06:58, Baruch Siach a écrit :
 >> Hi Artem,
 >> 
 >> On Sun, Feb 24, 2019 at 11:49:31PM +0300, Artem Panfilov wrote:
 >>> net_tstamp.h in recent kernel versions requires time.h for clockid_t.
 >> 
 >> This is a kernel bug. Kernel UAPI headers must not use the userspace clockid_t 
 >> type. This bug has been fixed in kernel commit e2c4cf7f98a5 ("net: Use 
 >> __kernel_clockid_t in uapi net_stamp.h") just before the v4.20 release. It 
 >> looks like this Linaro toolchain took the headers of a kernel -rc release.
 >> 
 >> Maybe update the Linaro toolchain to 2019.02 in master?
 >> Romain?

 > Actually it's not a Linaro toolchain anymore, it's an ARM toolchain.

 > Indeed, these toolchains use a 4.20 -rc kernel release.
 > I noticed it while updating to the 2018.11 release that was released one month
 > before the official kernel 4.20 release (respectively 23 Nov 2018 and 23 Dec
 > 2018). I had to wait for BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_20 symbol in Buildroot.

 > The latest ARM toolchain 2019.01 release use 5.0-rc1 kernel release.
 > We can't include this version into Buildroot since the kernel 5.0 is not
 > released yet.

 > Maybe we should report this issue to https://bugs.linaro.org ?

Yes, it would be nice if they could use released kernels for the
headers.
Romain Naour Feb. 26, 2019, 10:39 p.m. UTC | #5
Hello Peter,

Le 26/02/2019 à 13:12, Peter Korsgaard a écrit :
>>>>>> "Romain" == Romain Naour <romain.naour@gmail.com> writes:
> 
>  > Hi Baruch, Artem, All,
>  > Le 25/02/2019 à 06:58, Baruch Siach a écrit :
>  >> Hi Artem,
>  >> 
>  >> On Sun, Feb 24, 2019 at 11:49:31PM +0300, Artem Panfilov wrote:
>  >>> net_tstamp.h in recent kernel versions requires time.h for clockid_t.
>  >> 
>  >> This is a kernel bug. Kernel UAPI headers must not use the userspace clockid_t 
>  >> type. This bug has been fixed in kernel commit e2c4cf7f98a5 ("net: Use 
>  >> __kernel_clockid_t in uapi net_stamp.h") just before the v4.20 release. It 
>  >> looks like this Linaro toolchain took the headers of a kernel -rc release.
>  >> 
>  >> Maybe update the Linaro toolchain to 2019.02 in master?
>  >> Romain?
> 
>  > Actually it's not a Linaro toolchain anymore, it's an ARM toolchain.
> 
>  > Indeed, these toolchains use a 4.20 -rc kernel release.
>  > I noticed it while updating to the 2018.11 release that was released one month
>  > before the official kernel 4.20 release (respectively 23 Nov 2018 and 23 Dec
>  > 2018). I had to wait for BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_20 symbol in Buildroot.
> 
>  > The latest ARM toolchain 2019.01 release use 5.0-rc1 kernel release.
>  > We can't include this version into Buildroot since the kernel 5.0 is not
>  > released yet.
> 
>  > Maybe we should report this issue to https://bugs.linaro.org ?
> 
> Yes, it would be nice if they could use released kernels for the
> headers.
> 

Done:
https://bugs.linaro.org/show_bug.cgi?id=4297

Best regards,
Romain
Peter Korsgaard Feb. 27, 2019, 8:53 a.m. UTC | #6
>>>>> "Romain" == Romain Naour <romain.naour@gmail.com> writes:

Hi,

 >> > Maybe we should report this issue to https://bugs.linaro.org ?
 >> 
 >> Yes, it would be nice if they could use released kernels for the
 >> headers.

 > Done:
 > https://bugs.linaro.org/show_bug.cgi?id=4297

Great, thanks!
Arnout Vandecappelle May 26, 2019, 10:05 p.m. UTC | #7
On 24/02/2019 21:49, Artem Panfilov wrote:
> net_tstamp.h in recent kernel versions requires time.h for clockid_t.
> 
> Fixes:
>   http://autobuild.buildroot.net/results/93903e8abfeaa7df0b6525033fa63e29f2c9e7ae
> Signed-off-by: Artem Panfilov <panfilov.artyom@gmail.com>

 There should be an empty line above your Sob. I fixed that up and applied to
master, thanks.

 There was some discussion if this was the proper approach, but the patch comes
from upstream, and it's still failing in the autobuilders.

 Regards,
 Arnout
diff mbox series

Patch

diff --git a/package/linuxptp/0002-fix-building-with-new-kernel-headers.patch b/package/linuxptp/0002-fix-building-with-new-kernel-headers.patch
new file mode 100644
index 0000000000..332e5491ff
--- /dev/null
+++ b/package/linuxptp/0002-fix-building-with-new-kernel-headers.patch
@@ -0,0 +1,55 @@ 
+From d663a483c40939bad58301c256d86da1f3da6cc0 Mon Sep 17 00:00:00 2001
+From: Miroslav Lichvar <mlichvar@redhat.com>
+Date: Tue, 13 Nov 2018 13:16:08 +0100
+Subject: [PATCH] Fix building with new kernel headers.
+
+net_tstamp.h in recent kernel versions requires time.h for clockid_t.
+
+Signed-off-by: Miroslav Lichvar <mlichvar@redhat.com>
+---
+ clock.c      | 2 +-
+ sk.c         | 1 +
+ timemaster.c | 1 +
+ 3 files changed, 3 insertions(+), 1 deletion(-)
+
+diff --git a/clock.c b/clock.c
+index 9c493c3..8533b39 100644
+--- a/clock.c
++++ b/clock.c
+@@ -17,11 +17,11 @@
+  * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+  */
+ #include <errno.h>
++#include <time.h>
+ #include <linux/net_tstamp.h>
+ #include <poll.h>
+ #include <stdlib.h>
+ #include <string.h>
+-#include <time.h>
+ #include <sys/queue.h>
+ 
+ #include "address.h"
+diff --git a/sk.c b/sk.c
+index e2b1f28..30162eb 100644
+--- a/sk.c
++++ b/sk.c
+@@ -18,6 +18,7 @@
+  * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+  */
+ #include <errno.h>
++#include <time.h>
+ #include <linux/net_tstamp.h>
+ #include <linux/sockios.h>
+ #include <linux/ethtool.h>
+diff --git a/timemaster.c b/timemaster.c
+index 058678f..00db59f 100644
+--- a/timemaster.c
++++ b/timemaster.c
+@@ -22,6 +22,7 @@
+ #include <errno.h>
+ #include <libgen.h>
+ #include <limits.h>
++#include <time.h>
+ #include <linux/net_tstamp.h>
+ #include <net/if.h>
+ #include <signal.h>