Message ID | 20190224204931.2759-1-panfilov.artyom@gmail.com |
---|---|
State | Accepted |
Headers | show |
Series | [1/1] package/linuxptp: fix build with new headers | expand |
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
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
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 >
>>>>> "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.
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
>>>>> "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!
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 --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>
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