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

Reply via email to