--- Python-2.7.15/Modules/posixmodule.c.orig 2018-04-30 00:47:33.000000000 +0200 +++ Python-2.7.15/Modules/posixmodule.c 2018-12-26 13:46:37.307241303 +0100 @@ -35,6 +35,12 @@ # include #endif /* defined(__VMS) */ +/* On android API level 21, 'AT_EACCESS' is not declared although + * HAVE_FACCESSAT is defined. */ +#ifdef __ANDROID__ +#undef HAVE_FACCESSAT +#endif + #ifdef __cplusplus extern "C" { #endif @@ -3991,7 +3997,7 @@ posix_openpty(PyObject *self, PyObject * slave_fd = open(slave_name, O_RDWR | O_NOCTTY); /* open slave */ if (slave_fd < 0) return posix_error(); -#if !defined(__CYGWIN__) && !defined(HAVE_DEV_PTC) +#if !defined(__CYGWIN__) && !defined(__ANDROID__) && !defined(HAVE_DEV_PTC) ioctl(slave_fd, I_PUSH, "ptem"); /* push ptem */ ioctl(slave_fd, I_PUSH, "ldterm"); /* push ldterm */ #ifndef __hpux