[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