[Buildroot] [PATCH 1/1] netcat-openbsd: depends on linux-headers >= 3.12
Thomas Petazzoni
thomas.petazzoni at free-electrons.com
Wed Nov 29 21:24:35 UTC 2017
Baruch,
Since you have looked at a lot of different kernel headers related
issues, what do you think about this one below?
Thanks!
Thomas
On Tue, 28 Nov 2017 10:44:37 -0500, Gaël PORTAY wrote:
> This debian fork of netcat includes the kernel UAPI inet6 header. This
> header conflicts with the existing libc inet header and causes
> redefinition of structures when they are both included.
>
> The compiler raises the following error:
>
> /home/buildroot/build/instance-0/output/host/x86_64-buildroot-linux-gnu/sysroot/usr/include/linux/in6.h:30:8: error: redefinition of 'struct in6_addr' struct in6_addr {
>
> From version 3.12 of linux, the kernel UAPI header has mechanisms in
> libc-compat.h to prevent such situations (see __UAPI_DEF_SOCKADDR_IN6
> macros).
>
> Unfortunately the build is broken when toolchains do not satisfy at least
> the linux headers condition (>= 3.12).
>
> The package now depends on the toolchain headers at least 3.12.
>
> Signed-off-by: Gaël PORTAY <gael.portay at savoirfairelinux.com>
> ---
>
> Hi all,
>
> This patch fixes the build issue[1] of the netcat-openbsd package for
> x86_64[2] on branch next. I assume it also fixes the mips64el issue[3].
>
> It fixes the issue from a configuration point of view. I believe the
> issue cannot be solved. As explain in the commit message, the build is
> broken because the linux-headers must be at least 3.12.
>
> I need your help to make sure my understanding of the issue is right.
>
> This fork of netcat uses some linux features, and the linux uapi header
> must be included. It uses macros that are defined in the linux uapi
> header which are not defined in the libc header.
>
> I have tested by installing a new version of the kernel header using the
> commands below.
>
> $ make BR2_DEFAULT_KERNEL_HEADERS=3.12 linux-headers
> $ make netcat-openbsd-rebuild
>
> And it worked.
>
> Regards,
> Gael
>
> [1]: http://lists.busybox.net/pipermail/buildroot/2017-November/207809.html
> [2]: http://autobuild.buildroot.net/results/3c42c1eadcbfc084a1e55bf1df0450aaf1f2139c/
> [3]: http://autobuild.buildroot.net/results/de0dd8983243ee5d1fb189add8ce445177fb87c2/
>
> package/netcat-openbsd/Config.in | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/package/netcat-openbsd/Config.in b/package/netcat-openbsd/Config.in
> index 6df87ec688..5c8823c2ef 100644
> --- a/package/netcat-openbsd/Config.in
> +++ b/package/netcat-openbsd/Config.in
> @@ -4,6 +4,7 @@ config BR2_PACKAGE_NETCAT_OPENBSD
> depends on BR2_TOOLCHAIN_HAS_THREADS
> depends on BR2_TOOLCHAIN_USES_GLIBC
> depends on BR2_PACKAGE_BUSYBOX_SHOW_OTHERS
> + depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_12
> select BR2_PACKAGE_LIBBSD
> help
> A simple Unix utility which reads and writes data across network
--
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux and Kernel engineering
http://free-electrons.com
More information about the buildroot
mailing list