From: Twaik Yont <9674930+twaik@users.noreply.github.com> Android NDK exposes <linux/ipx.h> and defines SOL_IPX via UAPI headers, which makes our build-time probe treat IPX as available and enables HAS_IPX. In practice this is a false positive on Android: bionic/libc does not provide any documented or implemented IPX socket support, downstream environments (e.g. Termux) commonly disable it, and device kernels typically ship without IPX enabled. Guard the SOL_IPX-based detection with !ANDROID in ntdll, ws2_32, and server code so we don’t compile in IPX paths on Android due to header-only defines. Signed-off-by: Twaik Yont <9674930+twaik@users.noreply.github.com> --- dlls/ntdll/unix/socket.c | 2 +- dlls/ws2_32/unixlib.c | 2 +- server/sock.c | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/dlls/ntdll/unix/socket.c b/dlls/ntdll/unix/socket.c index 62b5f3a8504..392968adca2 100644 --- a/dlls/ntdll/unix/socket.c +++ b/dlls/ntdll/unix/socket.c @@ -54,7 +54,7 @@ # include <linux/types.h> # endif # include <linux/ipx.h> -# ifdef SOL_IPX +# if defined(SOL_IPX) && !defined(__ANDROID__) # define HAS_IPX # endif #endif diff --git a/dlls/ws2_32/unixlib.c b/dlls/ws2_32/unixlib.c index e0e1263e025..dcf0daff52e 100644 --- a/dlls/ws2_32/unixlib.c +++ b/dlls/ws2_32/unixlib.c @@ -75,7 +75,7 @@ # include <linux/types.h> # endif # include <linux/ipx.h> -# ifdef SOL_IPX +# if defined(SOL_IPX) && !defined(__ANDROID__) # define HAS_IPX # endif #endif diff --git a/server/sock.c b/server/sock.c index 7785d3c7706..bb379c20451 100644 --- a/server/sock.c +++ b/server/sock.c @@ -74,7 +74,7 @@ # include <linux/types.h> # endif # include <linux/ipx.h> -# ifdef SOL_IPX +# if defined(SOL_IPX) && !defined(__ANDROID__) # define HAS_IPX # endif #endif -- GitLab https://gitlab.winehq.org/wine/wine/-/merge_requests/10067