On Sat, 17 Aug 2019 at 02:12, Laurence Parry <greenrea...@gmail.com> wrote: > > Package: lua-luaossl > Version: 20161208-3 > Tags: ftbfs > User: debian-...@lists.debian.org > Usertags: x32 > > lua-luaoss fails to build from source on x32 because: > > In file included from /usr/include/x86_64-linux-gnux32/sys/sysctl.h:63:0, > from src/openssl.c:9089: > /usr/include/x86_64-linux-gnux32/bits/sysctl.h:19:3: error: #error > "sysctl system call is unsupported in x32 kernel" > # error "sysctl system call is unsupported in x32 kernel" > https://buildd.debian.org/status/fetch.php?pkg=lua-luaossl&arch=x32&ver=20161214-1&stamp=1489921871&raw=0 > > In config.h.guess I see: > > #ifndef HAVE_SYS_SYSCTL_H > #define HAVE_SYS_SYSCTL_H ag_test_include(<sys/sysctl.h>, (BSD || __GLIBC__)) > #endif > > Perhaps adding && !(__X86_64__ && __ILP32__) in there as well would fix it?
That check is for sys/sysctl.h, if that file still exists on X32 then it's not the right macro to fix. A better fix would be around HAVE_DECL_RANDOM_UUID in config.h.guess. > Or there might be a better solution, like pre-defining HAVE_RANDOM_UUID 0 > (or HAVE_DECL_RANDOM_UUID in the current version) A suitable fix would be to pass `-DHAVE_DECL_RANDOM_UUID=0` on X32. Note that RANDOM_UUID is an enum not a macro. > There was an attempt to remove sysctl(), but it was restored here for > older kernels: > https://github.com/wahern/luaossl/commit/7d6202bfa85e8f0bf90590a9381757f15e296a33 > Calls to sysctl remain in the current version . See the related PR: https://github.com/wahern/luaossl/pull/61