> > 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. > ... > A suitable fix would be to pass `-DHAVE_DECL_RANDOM_UUID=0` on X32.
It exists, but accessing it triggers a preprocessor #error saying it doesn't work on x32: https://github.com/lattera/glibc/blob/master/sysdeps/unix/sysv/linux/x86/bits/sysctl.h If I'm reading it right, the sys/sysctl.h test in config.guess.h will pass, because it uses __has_include. It will define HAVE_SYS_SYSCTL_H, which is used in src/openssl.c: #if HAVE_SYS_SYSCTL_H #include <sys/sysctl.h> /* CTL_KERN KERN_RANDOM RANDOM_UUID sysctl(2) */ #endif and then as I understand it, it will break at the preprocessor stage, before it gets to: #if HAVE_SYS_SYSCTL_H && HAVE_DECL_RANDOM_UUID This is where it came up before (didn't see it in archived bugs because the package was renamed): https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=831333 -- Laurence "GreenReaper" Parry

