#1110505 sysdig build fails in pp64el

Package:
sysdig
Source:
sysdig
Description:
system-level exploration and troubleshooting tool
Submitter:
tshah
Date:
2025-09-01 18:53:03 UTC
Severity:
normal
#1110505#5
Date:
2025-08-07 06:17:19 UTC
From:
To:
The package fails to build on ppc64el. See
https://buildd.debian.org/status/fetch.php?pkg=sysdig&arch=ppc64el&ver=0.40.0%2Brepack-2&stamp=1744756834&raw=0.

Able to reproduce the issue while building the package on pp64el. On
checking the logs, it seems that the issue is because of a function
"luaL_setfuncs" being undeclared. I will check more on this.


/build/reproducible-path/sysdig-0.40.0+repack/userspace/chisel/chisel.cpp:985:9: error: ‘luaL_setfuncs’ was not declared in this scope; did you mean ‘lua_setfenv’?
   985 |         luaL_setfuncs(ls, ll_tool, 0);
       |         ^~~~~~~~~~~~~
       |         lua_setfenv
/build/reproducible-path/sysdig-0.40.0+repack/userspace/chisel/chisel.cpp: In member function ‘void sinsp_chisel::load(std::string, bool)’:
/build/reproducible-path/sysdig-0.40.0+repack/userspace/chisel/chisel.cpp:1196:9: error: ‘luaL_setfuncs’ was not declared in this scope; did you mean ‘lua_setfenv’?
  1196 |         luaL_setfuncs(m_ls, ll_tool, 0);
       |         ^~~~~~~~~~~~~
       |         lua_setfenv

#1110505#10
Date:
2025-08-08 08:22:03 UTC
From:
To:
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.

#1110505#15
Date:
2025-08-19 05:51:22 UTC
From:
To:
Hello Dima,

Did you get chance to look at the patch. Please let me know your
thoughts on this.

#1110505#20
Date:
2025-08-21 06:26:19 UTC
From:
To:
Hi. Thank you for your patch. I just ran a few tests, and it seems to
work.

I see that this changes the resulting package to Depends:liblua5.3-0.
I'm not super familiar with the lua ecosystem. Does this have downsides?
Is there some situation where lua5.1 is available and usable, but lua5.3
isn't?

Thank you for working on this.

#1110505#25
Date:
2025-08-26 06:42:41 UTC
From:
To:
Hello Dima,

Thank you for reviewing the patch.

yes, you are right the resulting package dependency changes to
Depends:liblua5.3-0. This change was necessary because
*l*ibluajit-5.1-dev does not support ppc64el and since luaL_setfuncs is
only available in Lua ≥5.2.

Lua 5.3 is the default version of Lua in Debian for general-purpose use
and is well-supported across all release architectures including ppc64el.

As per my knowledge, there is no major downside of using this version
unless:

  * The package doesnt use Lua 5.1-specific features ( e.g., |setfenv|,
    |getfenv) |that were either changed/removed in the later versions.
  * It is not depending on binary Lua modules built against Lua 5.1 ABI
  * And upstream doesn’t explicitly lock to Lua 5.1.

And, sysdig doesnt follow any of the above as of now.

The only one possible situation where I think lua5.1 will be required
specifically but not lua5.3 is for the packages depending on *LuaJIT*,
which is compatible with Lua 5.1 but not with Lua 5.3.

#1110505#30
Date:
2025-08-31 20:03:54 UTC
From:
To:
Hi. I just ran a few tests, and fixed something related. For sysdig,
lua5.3 appears to work for multiple architectures, as you say. I also
tried lua5.4, which also appears to work. 5.4 is greater than 5.3. Is
there a reason to stick to 5.3 instead of moving up to 5.4? You said

  5.3 is the default version of Lua in Debian for general-purpose use

Is this the reason? I don't see any package dependency that says this.
Is there some policy note or something that suggests that 5.3 is the
default?

Once we decide this, I'll check one more thing, and make the upload.

Thanks for pushing on this.

#1110505#35
Date:
2025-09-01 15:27:12 UTC
From:
To:
Hello Dima,

Thanks for testing it against 5.4.

yeah, its correct there is no formal policy/document stating that but in
practice Lua 5.3 is most widely used stable release. There are some Lua
libs in debian still tested primarily against 5.3. In Lua 5.4, there
were *some language-level *changes (like to GC behaviour. Reference:
https://www.lua.org/manual/5.4/manual.html#8) that can cause subtle
breakage with older modules. So, I thought to use 5.3 to avoid any
runtime breakage.

There are some API changes as well. So, I would suggest if we are going
with 5.4 we should test runtime positive and negative scenarios as well.

#1110505#40
Date:
2025-09-01 18:22:37 UTC
From:
To:
OK. I'll move to 5.3, and make the upload. Thanks.
#1110505#45
Date:
2025-09-01 18:52:03 UTC
From:
To:
We believe that the bug you reported is fixed in the latest version of
sysdig, which is due to be installed in the Debian FTP archive.

A summary of the changes between this version and the previous one is
attached.

Thank you for reporting the bug, which will now be closed.  If you
have further comments please address them to 1110505@bugs.debian.org,
and the maintainer will reopen the bug report if appropriate.

Debian distribution maintenance software
pp.
Dima Kogan <dkogan@debian.org> (supplier of updated sysdig package)

(This message was generated automatically at their request; if you
believe that there is a problem with it please contact the archive
administrators by mailing ftpmaster@ftp-master.debian.org)
Format: 1.8
Date: Wed, 20 Aug 2025 22:07:28 -0700
Source: sysdig
Architecture: source
Version: 0.40.0+repack-3
Distribution: unstable
Urgency: medium
Maintainer: Dima Kogan <dkogan@debian.org>
Changed-By: Dima Kogan <dkogan@debian.org>
Closes: 1110505
Changes:
 sysdig (0.40.0+repack-3) unstable; urgency=medium
 .
   * Build-Depends: liblua5.3-dev (Closes: #1110505)
Checksums-Sha1:
 43b83c22194c690a8b3bf0975772eb67ae1c7d78 2290 sysdig_0.40.0+repack-3.dsc
 38c6c91966f067985763fa2f8b22d25106d3bd2b 7316 sysdig_0.40.0+repack-3.debian.tar.xz
 cf769fc6ceeac01bbe427bd50025035fe7fee9a3 9915 sysdig_0.40.0+repack-3_source.buildinfo
Checksums-Sha256:
 aa2d5b1fc37e3e52fb8bd90fa6d49389cf1f80b7501278a1dde1cd7a5cc6c76f 2290 sysdig_0.40.0+repack-3.dsc
 572f3537d31b50796def6660520e85ee86bfa075918fb1d90bedb1d5a4565606 7316 sysdig_0.40.0+repack-3.debian.tar.xz
 4d3e60f3a4c51ed416078f888ca6fbdcbd9a1574f8b7ada8ab76f2435e736b03 9915 sysdig_0.40.0+repack-3_source.buildinfo
Files:
 1289d95773b7abf28246d0575fea4674 2290 admin optional sysdig_0.40.0+repack-3.dsc
 1d0c83c7b0110cc9e6fbe3e368b94783 7316 admin optional sysdig_0.40.0+repack-3.debian.tar.xz
 07486fb0749bd74e155a57f1e9567b6d 9915 admin optional sysdig_0.40.0+repack-3_source.buildinfo
-----BEGIN PGP SIGNATURE-----

iQJGBAEBCgAwFiEEteL6GQ/fmv4hiInPrMfCzzCUEYgFAmi15d8SHGRrb2dhbkBk
ZWJpYW4ub3JnAAoJEKzHws8wlBGIr0AP/2g/kVHbvpLUI16ks8xUSHNNc3nn0Rtz
UOJD6QRJ1GjrgX67fR6Vfb021fiI+75vPN76qqhXyaADCuy9bgwvcEDSOOXDM7Kh
0+N8VNfqjNUgPvdBzUwYdkLL2JvmKMG53bhCb7PJG09xBPyDAGIZKzg/JavrgZ2g
HkWviGhbhfdQHjaHuI0bkQfuTaibcNXEhDtu/lo52UMbYDM1LrpL/NTvkV385Nun
iDNY2DQHFumwwghFGORJCu6h+0lyJ1alAA9sYU8jGkyzNZcTUhhBAFTmopCQi2m8
84MkpEC5wtKvE04DDUlQOq40omb+ZHGBzlulbNyommJ8GauvJJq6+BfcV0haDcgH
ZnciVJuzoaEKv0ZYpFTBlxUQHDyf/6Vdkzj04BWa5C8jZLWHceLX7liUGUVCCqCw
AQYpjjkE5Fphdb/QLlh3b0yn9ZflpvBxEatewPWBIWLDnG2bqk6QWZnpo86cffza
rowi4C0dm2rfFFEPCGKDDVud2rzxdFHdCS06mEk7y71uOAEfvdWUSKoPazeRd5ON
N+2MzNH8hvbSLzd1vwNXlLFGb9Xccbf/UxvIsxUtuVMzeTXVRf6gXj649ir2C3HM
IYNby9ZSGEyd0IOjZU4VKcinTTv/+k+fnJpihtO21jeAIU8ncyqQ8lx/+qnFDzgS
+Nak5zQvPixY
=8kZ1
-----END PGP SIGNATURE-----