After updating to luajit-2.1.0_beta3_p20220127-r1 some consumers cannot be rebuilt because the package is no longer found. This seems to be related to pkgconfig or whatever e.g. cmake's find_package() uses. Downgrading to luajit-2.0.5 fixed the issue. Reproducible: Always Steps to Reproduce: 1. update to luajit-2.1.0_beta3_p20220127-r1 2. rebuild e.g. sysdig 3. build error Actual Results: - Check for working CXX compiler: /usr/bin/x86_64-pc-linux-gnu-g++ - skipped -- Detecting CXX compile features -- Detecting CXX compile features - done -- Could NOT find Lua51 (missing: LUA_LIBRARIES LUA_INCLUDE_DIR) CMake Error at CMakeLists.txt:166 (message): Couldn't find system LuaJIT or Lua The block in CMakeLists.txt looks like one would expect, and which works fine with luajit-2.0.5: # alternatively try stock Lua find_package(Lua51) set(LUAJIT_LIB ${LUA_LIBRARY}) set(LUAJIT_INCLUDE ${LUA_INCLUDE_DIR}) if(NOT ${LUA51_FOUND}) message(FATAL_ERROR "Couldn't find system LuaJIT or Lua") endif() Expected Results: Successful build of consumer package
I think it might be useful to file bugs for individual consumers which break. Some of the fixes I've seen for said packages seem legitimate.
(In reply to Sam James from comment #1) > I think it might be useful to file bugs for individual consumers which > break. Some of the fixes I've seen for said packages seem legitimate. Filing n duplicated bug reports when 2.1.0_beta3_p20220127-r1 is still an unstable snapshot creates more work than figuring out what's wrong and fix it once. Also some of the things I have are either unmaintained or custom ebuilds. I'll try using sysdig as driver for analysing *this* particular problem and then we can see what's wrong.
Sigh..looks like it's a problem with sysdig only; other packages I have either don't use CMake or do gross things like ldd the luajit executable to find the lib (bcc). Anyway, the reason seems to be: if(NOT USE_BUNDLED_LUAJIT) find_path(LUAJIT_INCLUDE luajit.h PATH_SUFFIXES luajit-2.0 luajit) find_library(LUAJIT_LIB NAMES luajit luajit-5.1) Since 2.1.0_beta3_p20220127-r1 has changed its directory name to 2.1 the header is not found. Simply adding 2.1 in makes ot works and looks like the fastest route to success, since luajit-2.1 is still lua-5.1. I'll close this and file a bug for sysdig when I have something (not sure if that even still builds at all).
(In reply to Holger Hoffstätte from comment #2) > (In reply to Sam James from comment #1) > > I think it might be useful to file bugs for individual consumers which > > break. Some of the fixes I've seen for said packages seem legitimate. > > Filing n duplicated bug reports when 2.1.0_beta3_p20220127-r1 is still an > unstable snapshot creates more work than figuring out what's wrong and fix > it once. Also some of the things I have are either unmaintained or custom > ebuilds. > I'll try using sysdig as driver for analysing *this* particular problem and > then we can see what's wrong. I specifically said it because I'd seen some of the fixes were really straightforward in adding another parameter to CMake, so I was suspicious about luajit itself being really to blame :)
It gets worse :D - now that I have a patch for the configure phase it fails to build because $incompatible_changes. *sob* But apparently there is something upstream already: https://github.com/draios/sysdig/pull/921/commits/1147b9a4f6f1f9e97b43735e7980da387837de4a *sigh*
Closing as invalid since the problem is somewhere else.
(In reply to Holger Hoffstätte from comment #6) > Closing as invalid since the problem is somewhere else. np; just ping me/file a bug and i'll merge whatever is needed to get sysdig working. ideally it'll be a PR tho ;)