[Buildroot] [PATCH 1/1] package/zeek: disable with uclibc-ng

Thomas Petazzoni thomas.petazzoni at bootlin.com
Wed Jul 27 07:40:33 UTC 2022


Hello Fabrice,

On Wed, 27 Jul 2022 09:14:12 +0200
Fabrice Fontaine <fontaine.fabrice at gmail.com> wrote:

> zeek unconditionally uses f_owner_ex which is only available with
> aarch64 on uclibc-ng
> (https://github.com/wbx-github/uclibc-ng/search?q=f_owner_ex) resulting
> in the following build failure since the addition of the package in
> commit ea36681572255ec906167308c07adc42ed2ac9f9:
> 
> /home/giuliobenetti/autobuild/run/instance-0/output-1/build/zeek-4.1.1/auxil/libkqueue/src/linux/platform.c: In function 'linux_kqueue_init':
> /home/giuliobenetti/autobuild/run/instance-0/output-1/build/zeek-4.1.1/auxil/libkqueue/src/linux/platform.c:279:23: error: storage size of 'sig_owner' isn't known
>   279 |     struct f_owner_ex sig_owner;
>       |                       ^~~~~~~~~
> /home/giuliobenetti/autobuild/run/instance-0/output-1/build/zeek-4.1.1/auxil/libkqueue/src/linux/platform.c:383:22: error: 'F_OWNER_TID' undeclared (first use in this function)
>   383 |     sig_owner.type = F_OWNER_TID;
>       |                      ^~~~~~~~~~~
> 
> Fixes:
>  - http://autobuild.buildroot.org/results/f15bc6fda2a6117b2beef91a3f97a5d063789102
> 
> Signed-off-by: Fabrice Fontaine <fontaine.fabrice at gmail.com>

It's probably a bit of a pity to disable this package on uClibc just
because of this missing structure. I have no idea why uClibc has it
just in the aarch64 headers, because on both glibc and musl, it's
defined in a completely generic way.

So here is my proposal:

 (1) Unbundle libkqueue from zeek, by creating a separate libkqueue
     package (BTW zeek should be investigated further, it contains
     several bundled libraries, and it should preferably use external
     packages instead of bundled libraries).

 (2) Add a patch in libkqueue that checks for the availability of
     f_owner_ex, and if not available, provides its own definition.

 (3) Send a patch to uClibc to add the missing f_owner_ex definition.

Do you think you could have a look into this?

Thanks a lot!

Thomas
-- 
Thomas Petazzoni, co-owner and CEO, Bootlin
Embedded Linux and Kernel engineering and training
https://bootlin.com



More information about the buildroot mailing list