Android does not have crypt, but the crypt module is cross-built nevertheless after this warning has been issued:
warning: implicit declaration of function 'crypt' is invalid in C99 [-Wimplicit-function-declaration]
And at runtime, importing the crypt module fails with:
ImportError: dlopen failed: cannot locate symbol "crypt" referenced by "_crypt.cpython-37m-i686-linux-android.so"
gcc and clang do not enforce the C99 rules and emit just a warning for implicit function declarations instead of the error that would be conforming to C99. This can be changed with the flag '-Werror=implicit-function-declaration' and the compilation of the crypt extension module rightly fails in that case.
I think this issue should be fixed by adding this flag to the Makefile.
Maybe in another issue. |