Tried reproducing the issue of sysdig build failure on ppc64el. On
checking the logs minutely, got to know that the issue is due to use
of luaL_setfuncs().
The error was
chisel.cpp:985:9: error: ‘luaL_setfuncs’ was not declared in this scope
This happens because libluajit-5.1-dev does not support ppc64el. As a
result, the current Build-Depends fallback to liblua5.1-0-dev and
still causes incompatibility, since luaL_setfuncs is only available in
Lua ≥5.2.
I propose replacing the conditional dependency with a direct one on
liblua5.3-dev, which provides full support for ppc64el and the
required API.
I have also tested cross-building sysdig for other architectures
(including amd64, arm64, armel, armhf, mips64el, riscv64 and s390x)
using sbuild, and all of them successfully build with liblua5.3-dev
instead of libluajit-5.1-dev. This suggests that the switch does not
break existing builds and improves compatibility for architectures
like ppc64el that are not supported by LuaJIT. I have attached the
patch in this mail.