From: Francis Laniel <flaniel@linux.microsoft.com>
To: buildroot@buildroot.org
Cc: Francis Laniel <flaniel@linux.microsoft.com>,
Angelo Compagnucci <angelo.compagnucci@gmail.com>,
bradford barr <bradford@density.io>,
Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Subject: [Buildroot] [RFC PATCH v1 0/2] Fix sysdig build errors
Date: Thu, 7 Apr 2022 19:24:23 +0100 [thread overview]
Message-ID: <20220407182425.194001-1-flaniel@linux.microsoft.com> (raw)
Hi.
First of all, I hope you are fine and the same for your relatives.
When building a system with recent kernel with BR2_PACKAGE_SYSDIG, I got some
compilation errors when building sysdig libsinsp:
.../sysdig-0.23.1/userspace/libsinsp/chisel.cpp:99:30: error: elements of array ‘const luaL_reg ll_sysdig []’ have incomplete type
99 | const static struct luaL_reg ll_sysdig [] =
After that, an error when building modules occurs:
.../sysdig-0.23.1/driver/ppm.h:62:18: error: field ‘last_print_time’ has incomplete type
62 | struct timespec last_print_time;
And finally an error during link time occurs:
.../sysdig-0.23.1/userspace/libsinsp.a(cri.grpc.pb.cc.o): undefined reference to symbol '_ZN4absl12lts_202103245MutexD1Ev'
Concerning the error in libsinsp, a patch was added to sysdig recipe.
This patch is based on Minikube patch, which is in turn based on sysdig
CMakeLists.txt PATCH_COMMAND [1, 2].
The modules errors were fixed upstream, so I bumped sysdig version to 0.27.1
[3, 4].
For the linking one, a patch already exist to fix this buggy behavior [5].
Sysdig 0.27.1 relies on tbb, so a recipe for this library was added.
Note that, this recipe was originally written by Bradford Barr and I just bumped
its version to suit sysdig case [6].
With the two patches applied, I was able to build and boot an image within qemu:
$ make qemu_x86_64_defconfig
$ make menuconfig
# Set glibc as library, enable c++, enable luajit and enable sysdig.
$ make linux-menuconfig
# Enable FTRACE
$ make -j$(nproc)
...
$ bash start-qemu.sh
...
Welcome to Buildroot
buildroot login: root
# insmod /lib/modules/5.15.18/extra/sysdig-probe.ko
sysdig_probe: loading out-of-tree module taints kernel.
sysdig_probe: driver loading, sysdig-probe 0.1.1dev
# sysdig --version
sysdig version 0.1.1dev
If you see any way to improve this contribution, feel free to share it!
Francis Laniel (1):
package/sysdig: bump version to 0.27.1.
bradford barr (1):
tbb: new package
DEVELOPERS | 1 +
package/Config.in | 1 +
...ATCH_COMMAND-to-fix-lua-types-and-fu.patch | 82 +++++++++++++++++++
...gainst-libabseil-cpp-which-grpc-uses.patch | 45 ++++++++++
package/sysdig/Config.in | 5 ++
package/sysdig/sysdig.hash | 1 +
package/sysdig/sysdig.mk | 7 +-
.../0001-tbb-Enable-cross-compilation.patch | 55 +++++++++++++
package/tbb/Config.in | 16 ++++
package/tbb/tbb.hash | 2 +
package/tbb/tbb.mk | 39 +++++++++
11 files changed, 253 insertions(+), 1 deletion(-)
create mode 100644 package/sysdig/0001-libsinsp-Apply-PATCH_COMMAND-to-fix-lua-types-and-fu.patch
create mode 100644 package/sysdig/0002-Link-against-libabseil-cpp-which-grpc-uses.patch
create mode 100644 package/tbb/0001-tbb-Enable-cross-compilation.patch
create mode 100644 package/tbb/Config.in
create mode 100644 package/tbb/tbb.hash
create mode 100644 package/tbb/tbb.mk
Best regards and thank you in advance for your reviews.
P.S.: If you are interested, this bug was spotted while trying to bump Minikube
kernel to 5.10.57 [7].
---
[1] https://github.com/kubernetes/minikube/commit/f036c279bc598cf59affb0fc538c017d83afb7ab
[2] https://github.com/draios/sysdig/commit/a064440394c93a7579dc6e1db13c8378d5eecd6f
[3] https://github.com/draios/sysdig/commit/938986890291c126f9b8f3a050bc3edc95fb6f5a
[4] https://github.com/draios/sysdig/commit/2691cbc66c7faa973333d65a69909be06be21c18
[5] https://github.com/hhoffstaette/portage/blob/8d047247719a15c5a63001f65ba348514706277d/dev-util/sysdig/files/0.27.1-grpc-absl-sync.patch
[6] https://patchwork.ozlabs.org/project/buildroot/patch/20170928235043.31891-2-bradford@density.io/
[7] https://github.com/kubernetes/minikube/pull/12707
--
2.25.1
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
next reply other threads:[~2022-04-07 18:31 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-04-07 18:24 Francis Laniel [this message]
2022-04-07 18:24 ` [Buildroot] [RFC PATCH v1 1/2] tbb: new package Francis Laniel
2022-04-09 13:42 ` Arnout Vandecappelle
2022-04-11 18:06 ` Francis Laniel
2022-04-07 18:24 ` [Buildroot] [RFC PATCH v1 2/2] package/sysdig: bump version to 0.27.1 Francis Laniel
2022-04-09 14:40 ` Arnout Vandecappelle
2022-04-11 18:11 ` Francis Laniel
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20220407182425.194001-1-flaniel@linux.microsoft.com \
--to=flaniel@linux.microsoft.com \
--cc=angelo.compagnucci@gmail.com \
--cc=bradford@density.io \
--cc=buildroot@buildroot.org \
--cc=thomas.petazzoni@bootlin.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.