Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Python 3.3.2+ on android

Tags:

python

android

I have been trying to build Python 3.3.2 for android but I have run into a dead end. I might be doing something wrong.

Here is my buildscript:

# Unpack Python
tar xvjf Python-3.3.2.tar.bz2
cd Python-3.3.2

# Setup Android NDK vars
export NDK=/home/jakob/dev/android/android-ndk-r9
export CROSS_COMPILE=arm-linux-androideabi
export CC=${CROSS_COMPILE}-gcc
export CXX=${CROSS_COMPILE}-g++
export SYSROOT=$NDK/platforms/android-18/arch-arm
export PATH=$PATH:$NDK/toolchains/arm-linux-androideabi-4.8/prebuilt/linux-x86/bin/

# Create config.site file
echo 'ac_cv_file__dev_ptmx=no
ac_cv_file__dev_ptc=no' > config.site

# Configure
CONFIG_SITE=config.site ./configure --build=x86-unknown-linux-gnu --host=$CROSS_COMPILE --disable-ipv6 LDFLAGS="-Wl,--allow-shlib-undefined -L$SYSROOT/usr/lib" CFLAGS="-mandroid -fomit-frame-pointer --sysroot $SYSROOT"

# Build
make

Here is the output from make:

arm-linux-androideabi-gcc -c -Wno-unused-result -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -mandroid -fomit-frame-pointer --sysroot /home/jakob/dev/android/android-ndk-r9/platforms/android-18/arch-arm    -I. -IInclude -I./Include    -DPy_BUILD_CORE -o Modules/python.o ./Modules/python.c
arm-linux-androideabi-gcc -c -Wno-unused-result -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -mandroid -fomit-frame-pointer --sysroot /home/jakob/dev/android/android-ndk-r9/platforms/android-18/arch-arm    -I. -IInclude -I./Include    -DPy_BUILD_CORE -o Parser/acceler.o Parser/acceler.c
arm-linux-androideabi-gcc -c -Wno-unused-result -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -mandroid -fomit-frame-pointer --sysroot /home/jakob/dev/android/android-ndk-r9/platforms/android-18/arch-arm    -I. -IInclude -I./Include    -DPy_BUILD_CORE -o Parser/grammar1.o Parser/grammar1.c
arm-linux-androideabi-gcc -c -Wno-unused-result -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -mandroid -fomit-frame-pointer --sysroot /home/jakob/dev/android/android-ndk-r9/platforms/android-18/arch-arm    -I. -IInclude -I./Include    -DPy_BUILD_CORE -o Parser/listnode.o Parser/listnode.c
arm-linux-androideabi-gcc -c -Wno-unused-result -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -mandroid -fomit-frame-pointer --sysroot /home/jakob/dev/android/android-ndk-r9/platforms/android-18/arch-arm    -I. -IInclude -I./Include    -DPy_BUILD_CORE -o Parser/node.o Parser/node.c
arm-linux-androideabi-gcc -c -Wno-unused-result -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -mandroid -fomit-frame-pointer --sysroot /home/jakob/dev/android/android-ndk-r9/platforms/android-18/arch-arm    -I. -IInclude -I./Include    -DPy_BUILD_CORE -o Parser/parser.o Parser/parser.c
arm-linux-androideabi-gcc -c -Wno-unused-result -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -mandroid -fomit-frame-pointer --sysroot /home/jakob/dev/android/android-ndk-r9/platforms/android-18/arch-arm    -I. -IInclude -I./Include    -DPy_BUILD_CORE -o Parser/bitset.o Parser/bitset.c
arm-linux-androideabi-gcc -c -Wno-unused-result -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -mandroid -fomit-frame-pointer --sysroot /home/jakob/dev/android/android-ndk-r9/platforms/android-18/arch-arm    -I. -IInclude -I./Include    -DPy_BUILD_CORE -o Parser/metagrammar.o Parser/metagrammar.c
arm-linux-androideabi-gcc -c -Wno-unused-result -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -mandroid -fomit-frame-pointer --sysroot /home/jakob/dev/android/android-ndk-r9/platforms/android-18/arch-arm    -I. -IInclude -I./Include    -DPy_BUILD_CORE -o Parser/firstsets.o Parser/firstsets.c
arm-linux-androideabi-gcc -c -Wno-unused-result -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -mandroid -fomit-frame-pointer --sysroot /home/jakob/dev/android/android-ndk-r9/platforms/android-18/arch-arm    -I. -IInclude -I./Include    -DPy_BUILD_CORE -o Parser/grammar.o Parser/grammar.c
arm-linux-androideabi-gcc -c -Wno-unused-result -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -mandroid -fomit-frame-pointer --sysroot /home/jakob/dev/android/android-ndk-r9/platforms/android-18/arch-arm    -I. -IInclude -I./Include    -DPy_BUILD_CORE -o Parser/pgen.o Parser/pgen.c
Parser/pgen.c: In function 'compile_atom':
Parser/pgen.c:282:9: warning: variable 'i' set but not used [-Wunused-but-set-variable]
    int i;
        ^
arm-linux-androideabi-gcc -c -Wno-unused-result -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -mandroid -fomit-frame-pointer --sysroot /home/jakob/dev/android/android-ndk-r9/platforms/android-18/arch-arm    -I. -IInclude -I./Include    -DPy_BUILD_CORE -o Parser/myreadline.o Parser/myreadline.c
arm-linux-androideabi-gcc -c -Wno-unused-result -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -mandroid -fomit-frame-pointer --sysroot /home/jakob/dev/android/android-ndk-r9/platforms/android-18/arch-arm    -I. -IInclude -I./Include    -DPy_BUILD_CORE -o Parser/parsetok.o Parser/parsetok.c
arm-linux-androideabi-gcc -c -Wno-unused-result -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -mandroid -fomit-frame-pointer --sysroot /home/jakob/dev/android/android-ndk-r9/platforms/android-18/arch-arm    -I. -IInclude -I./Include    -DPy_BUILD_CORE -o Parser/tokenizer.o Parser/tokenizer.c
arm-linux-androideabi-gcc -c -Wno-unused-result -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -mandroid -fomit-frame-pointer --sysroot /home/jakob/dev/android/android-ndk-r9/platforms/android-18/arch-arm    -I. -IInclude -I./Include    -DPy_BUILD_CORE -o Objects/abstract.o Objects/abstract.c
arm-linux-androideabi-gcc -c -Wno-unused-result -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -mandroid -fomit-frame-pointer --sysroot /home/jakob/dev/android/android-ndk-r9/platforms/android-18/arch-arm    -I. -IInclude -I./Include    -DPy_BUILD_CORE -o Objects/accu.o Objects/accu.c
arm-linux-androideabi-gcc -c -Wno-unused-result -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -mandroid -fomit-frame-pointer --sysroot /home/jakob/dev/android/android-ndk-r9/platforms/android-18/arch-arm    -I. -IInclude -I./Include    -DPy_BUILD_CORE -o Objects/boolobject.o Objects/boolobject.c
arm-linux-androideabi-gcc -c -Wno-unused-result -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -mandroid -fomit-frame-pointer --sysroot /home/jakob/dev/android/android-ndk-r9/platforms/android-18/arch-arm    -I. -IInclude -I./Include    -DPy_BUILD_CORE -o Objects/bytes_methods.o Objects/bytes_methods.c
arm-linux-androideabi-gcc -c -Wno-unused-result -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -mandroid -fomit-frame-pointer --sysroot /home/jakob/dev/android/android-ndk-r9/platforms/android-18/arch-arm    -I. -IInclude -I./Include    -DPy_BUILD_CORE -o Objects/bytearrayobject.o Objects/bytearrayobject.c
arm-linux-androideabi-gcc -c -Wno-unused-result -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -mandroid -fomit-frame-pointer --sysroot /home/jakob/dev/android/android-ndk-r9/platforms/android-18/arch-arm    -I. -IInclude -I./Include    -DPy_BUILD_CORE -o Objects/bytesobject.o Objects/bytesobject.c
Objects/bytesobject.c: In function 'PyBytes_FromFormatV':
Objects/bytesobject.c:277:25: warning: format '%zd' expects argument of type 'signed size_t', but argument 3 has type 'Py_ssize_t' [-Wformat=]
                        va_arg(vargs, Py_ssize_t));
                        ^
arm-linux-androideabi-gcc -c -Wno-unused-result -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -mandroid -fomit-frame-pointer --sysroot /home/jakob/dev/android/android-ndk-r9/platforms/android-18/arch-arm    -I. -IInclude -I./Include    -DPy_BUILD_CORE -o Objects/cellobject.o Objects/cellobject.c
arm-linux-androideabi-gcc -c -Wno-unused-result -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -mandroid -fomit-frame-pointer --sysroot /home/jakob/dev/android/android-ndk-r9/platforms/android-18/arch-arm    -I. -IInclude -I./Include    -DPy_BUILD_CORE -o Objects/classobject.o Objects/classobject.c
arm-linux-androideabi-gcc -c -Wno-unused-result -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -mandroid -fomit-frame-pointer --sysroot /home/jakob/dev/android/android-ndk-r9/platforms/android-18/arch-arm    -I. -IInclude -I./Include    -DPy_BUILD_CORE -o Objects/codeobject.o Objects/codeobject.c
arm-linux-androideabi-gcc -c -Wno-unused-result -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -mandroid -fomit-frame-pointer --sysroot /home/jakob/dev/android/android-ndk-r9/platforms/android-18/arch-arm    -I. -IInclude -I./Include    -DPy_BUILD_CORE -o Objects/complexobject.o Objects/complexobject.c
arm-linux-androideabi-gcc -c -Wno-unused-result -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -mandroid -fomit-frame-pointer --sysroot /home/jakob/dev/android/android-ndk-r9/platforms/android-18/arch-arm    -I. -IInclude -I./Include    -DPy_BUILD_CORE -o Objects/descrobject.o Objects/descrobject.c
arm-linux-androideabi-gcc -c -Wno-unused-result -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -mandroid -fomit-frame-pointer --sysroot /home/jakob/dev/android/android-ndk-r9/platforms/android-18/arch-arm    -I. -IInclude -I./Include    -DPy_BUILD_CORE -o Objects/enumobject.o Objects/enumobject.c
arm-linux-androideabi-gcc -c -Wno-unused-result -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -mandroid -fomit-frame-pointer --sysroot /home/jakob/dev/android/android-ndk-r9/platforms/android-18/arch-arm    -I. -IInclude -I./Include    -DPy_BUILD_CORE -o Objects/exceptions.o Objects/exceptions.c
arm-linux-androideabi-gcc -c -Wno-unused-result -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -mandroid -fomit-frame-pointer --sysroot /home/jakob/dev/android/android-ndk-r9/platforms/android-18/arch-arm    -I. -IInclude -I./Include    -DPy_BUILD_CORE -o Objects/genobject.o Objects/genobject.c
arm-linux-androideabi-gcc -c -Wno-unused-result -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -mandroid -fomit-frame-pointer --sysroot /home/jakob/dev/android/android-ndk-r9/platforms/android-18/arch-arm    -I. -IInclude -I./Include    -DPy_BUILD_CORE -o Objects/fileobject.o Objects/fileobject.c
arm-linux-androideabi-gcc -c -Wno-unused-result -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -mandroid -fomit-frame-pointer --sysroot /home/jakob/dev/android/android-ndk-r9/platforms/android-18/arch-arm    -I. -IInclude -I./Include    -DPy_BUILD_CORE -o Objects/floatobject.o Objects/floatobject.c
arm-linux-androideabi-gcc -c -Wno-unused-result -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -mandroid -fomit-frame-pointer --sysroot /home/jakob/dev/android/android-ndk-r9/platforms/android-18/arch-arm    -I. -IInclude -I./Include    -DPy_BUILD_CORE -o Objects/frameobject.o Objects/frameobject.c
arm-linux-androideabi-gcc -c -Wno-unused-result -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -mandroid -fomit-frame-pointer --sysroot /home/jakob/dev/android/android-ndk-r9/platforms/android-18/arch-arm    -I. -IInclude -I./Include    -DPy_BUILD_CORE -o Objects/funcobject.o Objects/funcobject.c
arm-linux-androideabi-gcc -c -Wno-unused-result -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -mandroid -fomit-frame-pointer --sysroot /home/jakob/dev/android/android-ndk-r9/platforms/android-18/arch-arm    -I. -IInclude -I./Include    -DPy_BUILD_CORE -o Objects/iterobject.o Objects/iterobject.c
arm-linux-androideabi-gcc -c -Wno-unused-result -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -mandroid -fomit-frame-pointer --sysroot /home/jakob/dev/android/android-ndk-r9/platforms/android-18/arch-arm    -I. -IInclude -I./Include    -DPy_BUILD_CORE -o Objects/listobject.o Objects/listobject.c
arm-linux-androideabi-gcc -c -Wno-unused-result -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -mandroid -fomit-frame-pointer --sysroot /home/jakob/dev/android/android-ndk-r9/platforms/android-18/arch-arm    -I. -IInclude -I./Include    -DPy_BUILD_CORE -o Objects/longobject.o Objects/longobject.c
arm-linux-androideabi-gcc -c -Wno-unused-result -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -mandroid -fomit-frame-pointer --sysroot /home/jakob/dev/android/android-ndk-r9/platforms/android-18/arch-arm    -I. -IInclude -I./Include    -DPy_BUILD_CORE -o Objects/dictobject.o Objects/dictobject.c
arm-linux-androideabi-gcc -c -Wno-unused-result -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -mandroid -fomit-frame-pointer --sysroot /home/jakob/dev/android/android-ndk-r9/platforms/android-18/arch-arm    -I. -IInclude -I./Include    -DPy_BUILD_CORE -o Objects/memoryobject.o Objects/memoryobject.c
arm-linux-androideabi-gcc -c -Wno-unused-result -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -mandroid -fomit-frame-pointer --sysroot /home/jakob/dev/android/android-ndk-r9/platforms/android-18/arch-arm    -I. -IInclude -I./Include    -DPy_BUILD_CORE -o Objects/methodobject.o Objects/methodobject.c
arm-linux-androideabi-gcc -c -Wno-unused-result -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -mandroid -fomit-frame-pointer --sysroot /home/jakob/dev/android/android-ndk-r9/platforms/android-18/arch-arm    -I. -IInclude -I./Include    -DPy_BUILD_CORE -o Objects/moduleobject.o Objects/moduleobject.c
arm-linux-androideabi-gcc -c -Wno-unused-result -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -mandroid -fomit-frame-pointer --sysroot /home/jakob/dev/android/android-ndk-r9/platforms/android-18/arch-arm    -I. -IInclude -I./Include    -DPy_BUILD_CORE -o Objects/namespaceobject.o Objects/namespaceobject.c
arm-linux-androideabi-gcc -c -Wno-unused-result -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -mandroid -fomit-frame-pointer --sysroot /home/jakob/dev/android/android-ndk-r9/platforms/android-18/arch-arm    -I. -IInclude -I./Include    -DPy_BUILD_CORE -o Objects/object.o Objects/object.c
arm-linux-androideabi-gcc -c -Wno-unused-result -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -mandroid -fomit-frame-pointer --sysroot /home/jakob/dev/android/android-ndk-r9/platforms/android-18/arch-arm    -I. -IInclude -I./Include    -DPy_BUILD_CORE -o Objects/obmalloc.o Objects/obmalloc.c
arm-linux-androideabi-gcc -c -Wno-unused-result -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -mandroid -fomit-frame-pointer --sysroot /home/jakob/dev/android/android-ndk-r9/platforms/android-18/arch-arm    -I. -IInclude -I./Include    -DPy_BUILD_CORE -o Objects/capsule.o Objects/capsule.c
arm-linux-androideabi-gcc -c -Wno-unused-result -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -mandroid -fomit-frame-pointer --sysroot /home/jakob/dev/android/android-ndk-r9/platforms/android-18/arch-arm    -I. -IInclude -I./Include    -DPy_BUILD_CORE -o Objects/rangeobject.o Objects/rangeobject.c
arm-linux-androideabi-gcc -c -Wno-unused-result -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -mandroid -fomit-frame-pointer --sysroot /home/jakob/dev/android/android-ndk-r9/platforms/android-18/arch-arm    -I. -IInclude -I./Include    -DPy_BUILD_CORE -o Objects/setobject.o Objects/setobject.c
Objects/setobject.c: In function 'set_insert_key':
Objects/setobject.c:217:25: warning: typedef 'lookupfunc' locally defined but not used [-Wunused-local-typedefs]
    typedef setentry *(*lookupfunc)(PySetObject *, PyObject *, Py_hash_t);
                        ^
arm-linux-androideabi-gcc -c -Wno-unused-result -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -mandroid -fomit-frame-pointer --sysroot /home/jakob/dev/android/android-ndk-r9/platforms/android-18/arch-arm    -I. -IInclude -I./Include    -DPy_BUILD_CORE -o Objects/sliceobject.o Objects/sliceobject.c
arm-linux-androideabi-gcc -c -Wno-unused-result -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -mandroid -fomit-frame-pointer --sysroot /home/jakob/dev/android/android-ndk-r9/platforms/android-18/arch-arm    -I. -IInclude -I./Include    -DPy_BUILD_CORE -o Objects/structseq.o Objects/structseq.c
arm-linux-androideabi-gcc -c -Wno-unused-result -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -mandroid -fomit-frame-pointer --sysroot /home/jakob/dev/android/android-ndk-r9/platforms/android-18/arch-arm    -I. -IInclude -I./Include    -DPy_BUILD_CORE -o Objects/tupleobject.o Objects/tupleobject.c
arm-linux-androideabi-gcc -c -Wno-unused-result -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -mandroid -fomit-frame-pointer --sysroot /home/jakob/dev/android/android-ndk-r9/platforms/android-18/arch-arm    -I. -IInclude -I./Include    -DPy_BUILD_CORE -o Objects/typeobject.o Objects/typeobject.c
arm-linux-androideabi-gcc -c -Wno-unused-result -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -mandroid -fomit-frame-pointer --sysroot /home/jakob/dev/android/android-ndk-r9/platforms/android-18/arch-arm    -I. -IInclude -I./Include    -DPy_BUILD_CORE -o Objects/unicodeobject.o Objects/unicodeobject.c
Objects/unicodeobject.c: In function '_Py_ReleaseInternedUnicodeStrings':
Objects/unicodeobject.c:14301:13: warning: format '%zd' expects argument of type 'signed size_t', but argument 3 has type 'Py_ssize_t' [-Wformat=]
            n);
            ^
Objects/unicodeobject.c:14327:13: warning: format '%zd' expects argument of type 'signed size_t', but argument 3 has type 'Py_ssize_t' [-Wformat=]
            "mortal/immortal\n", mortal_size, immortal_size);
            ^
Objects/unicodeobject.c:14327:13: warning: format '%zd' expects argument of type 'signed size_t', but argument 4 has type 'Py_ssize_t' [-Wformat=]
arm-linux-androideabi-gcc -c -Wno-unused-result -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -mandroid -fomit-frame-pointer --sysroot /home/jakob/dev/android/android-ndk-r9/platforms/android-18/arch-arm    -I. -IInclude -I./Include    -DPy_BUILD_CORE -o Objects/unicodectype.o Objects/unicodectype.c
arm-linux-androideabi-gcc -c -Wno-unused-result -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -mandroid -fomit-frame-pointer --sysroot /home/jakob/dev/android/android-ndk-r9/platforms/android-18/arch-arm    -I. -IInclude -I./Include    -DPy_BUILD_CORE -o Objects/weakrefobject.o Objects/weakrefobject.c
arm-linux-androideabi-gcc -c -Wno-unused-result -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -mandroid -fomit-frame-pointer --sysroot /home/jakob/dev/android/android-ndk-r9/platforms/android-18/arch-arm    -I. -IInclude -I./Include    -DPy_BUILD_CORE -o Python/_warnings.o Python/_warnings.c
arm-linux-androideabi-gcc -c -Wno-unused-result -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -mandroid -fomit-frame-pointer --sysroot /home/jakob/dev/android/android-ndk-r9/platforms/android-18/arch-arm    -I. -IInclude -I./Include    -DPy_BUILD_CORE -o Python/Python-ast.o Python/Python-ast.c
arm-linux-androideabi-gcc -c -Wno-unused-result -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -mandroid -fomit-frame-pointer --sysroot /home/jakob/dev/android/android-ndk-r9/platforms/android-18/arch-arm    -I. -IInclude -I./Include    -DPy_BUILD_CORE -o Python/asdl.o Python/asdl.c
make Parser/pgen
make[1]: Entering directory `/home/jakob/dev/qt5/Python-3.3.2'
arm-linux-androideabi-gcc -c -Wno-unused-result -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -mandroid -fomit-frame-pointer --sysroot /home/jakob/dev/android/android-ndk-r9/platforms/android-18/arch-arm    -I. -IInclude -I./Include    -DPy_BUILD_CORE -o Python/dynamic_annotations.o Python/dynamic_annotations.c
arm-linux-androideabi-gcc -c -Wno-unused-result -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -mandroid -fomit-frame-pointer --sysroot /home/jakob/dev/android/android-ndk-r9/platforms/android-18/arch-arm    -I. -IInclude -I./Include    -DPy_BUILD_CORE -o Python/mysnprintf.o Python/mysnprintf.c
arm-linux-androideabi-gcc -c -Wno-unused-result -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -mandroid -fomit-frame-pointer --sysroot /home/jakob/dev/android/android-ndk-r9/platforms/android-18/arch-arm    -I. -IInclude -I./Include    -DPy_BUILD_CORE -o Python/pyctype.o Python/pyctype.c
arm-linux-androideabi-gcc -c -Wno-unused-result -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -mandroid -fomit-frame-pointer --sysroot /home/jakob/dev/android/android-ndk-r9/platforms/android-18/arch-arm    -I. -IInclude -I./Include    -DPy_BUILD_CORE -o Parser/tokenizer_pgen.o Parser/tokenizer_pgen.c
arm-linux-androideabi-gcc -c -Wno-unused-result -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -mandroid -fomit-frame-pointer --sysroot /home/jakob/dev/android/android-ndk-r9/platforms/android-18/arch-arm    -I. -IInclude -I./Include    -DPy_BUILD_CORE -o Parser/printgrammar.o Parser/printgrammar.c
arm-linux-androideabi-gcc -c -Wno-unused-result -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -mandroid -fomit-frame-pointer --sysroot /home/jakob/dev/android/android-ndk-r9/platforms/android-18/arch-arm    -I. -IInclude -I./Include    -DPy_BUILD_CORE -o Parser/parsetok_pgen.o Parser/parsetok_pgen.c
arm-linux-androideabi-gcc -c -Wno-unused-result -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -mandroid -fomit-frame-pointer --sysroot /home/jakob/dev/android/android-ndk-r9/platforms/android-18/arch-arm    -I. -IInclude -I./Include    -DPy_BUILD_CORE -o Parser/pgenmain.o Parser/pgenmain.c
arm-linux-androideabi-gcc -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -Wl,--allow-shlib-undefined -L/home/jakob/dev/android/android-ndk-r9/platforms/android-18/arch-arm/usr/lib  Parser/acceler.o Parser/grammar1.o Parser/listnode.o Parser/node.o Parser/parser.o Parser/bitset.o Parser/metagrammar.o Parser/firstsets.o Parser/grammar.o Parser/pgen.o Objects/obmalloc.o Python/dynamic_annotations.o Python/mysnprintf.o Python/pyctype.o Parser/tokenizer_pgen.o Parser/printgrammar.o Parser/parsetok_pgen.o Parser/pgenmain.o -ldl  -o Parser/pgen
/home/jakob/dev/android/android-ndk-r9/toolchains/arm-linux-androideabi-4.8/prebuilt/linux-x86/bin/../lib/gcc/arm-linux-androideabi/4.8/../../../../arm-linux-androideabi/bin/ld: error: cannot open crtbegin_dynamic.o: No such file or directory
/home/jakob/dev/android/android-ndk-r9/toolchains/arm-linux-androideabi-4.8/prebuilt/linux-x86/bin/../lib/gcc/arm-linux-androideabi/4.8/../../../../arm-linux-androideabi/bin/ld: error: cannot open crtend_android.o: No such file or directory
collect2: error: ld returned 1 exit status
make[1]: *** [Parser/pgen] Error 1
make[1]: Leaving directory `/home/jakob/dev/qt5/Python-3.3.2'
make: *** [Include/graminit.h] Error 2

So everyhing looks nice until it starts using pgen, which by the way is build for ARM. So I don't know if it makes sense at all that it is called on the host system.

Please help.

Thanks Jakob Simon-Gaarde

like image 416
Jakob Simon-Gaarde Avatar asked Nov 12 '22 20:11

Jakob Simon-Gaarde


1 Answers

FWIW I was able to get Python 3.5 on android via kivy/buildozer + crystax (place crystax in ~/.buildozer/crystax-ndk-10.3.2)

Install Android Studio so you have adb at the command line.

Python 3.5 in Ubuntu 18.04

sudo add-apt-repository ppa:deadsnakes/ppa
sudo apt-get update
sudo apt install python3.5

Get the latest and greatest buildozer (required for python3 in Fall 2018)

sudo -H pip install git+https://github.com/kivy/buildozer

Make a little testbed

mkdir py3android
cd py3android
mkdir src

src/main.py

from kivy.app import App
from kivy.uix.button import Button

class TestApp(App):
    def build(self):
        return Button(text='Hello World')

TestApp().run()

buildozer.spec (Run buildozer init to create a skeleton first)

[app]
title = My App
package.name = myapp
package.domain = com.mycompany
source.dir = ./src
source.include_exts = py,png,jpg
source.include_patterns = img/
version = 0.1
requirements = python3crystax,kivy,git+git://github.com/wolfgangp/python-for-android
orientation = portrait
osx.python_version = 3
osx.kivy_version = 1.9.1
fullscreen = 0
android.ndk = 10.3.2
android.ndk_path = ~/.buildozer/crystax-ndk-10.3.2
android.entrypoint = org.renpy.android.PythonActivity


[buildozer]
log_level = 2
warn_on_root = 1

The git library wolfgangp/python-for-android will be removed once this pull request is accepted, then it can be changed to android==master

Then cd py3android, plug in your physical android device via USB (you can use emulators too btw) and simply run buildozer android debug run logcat | grep -C 50 Traceback to see your app and print any tracebacks to the log.

like image 179
Jonathan Avatar answered Nov 15 '22 01:11

Jonathan