我正在尝试在64位处理器上为Android4.9编译Python3.5.1。这是为了更新QPython3的Python解释器。
我从HOWTO file开始,描述了QPython源中要遵循的步骤。
我已经下载了Android NDK(r11c)并生成了一个独立的工具链。我将neceesary目录添加到PATH,并收到第一个错误i686-linux-android-gcc: command not found
。
我通过将path_to_NDK/toolchains/x86-4.9/prebuilt/linux-x86_64/bin
添加到PATH来解决它。
第二个错误是cc1: command not found
,我通过将path_to_NDK/toolchains/x86-4.9/prebuilt/linux-x86_64/libexec/gcc/i686-linux-android/4.9.x/
添加到PATH来解决它。
现在我在编译openssl时遇到了以下错误:
i686-linux-android-gcc -I. -I.. -I../include -DOPENSSL_THREADS -D_REENTRANT -DDSO_DLFCN -DHAVE_DLFCN_H -Wa,--noexecstack -DL_ENDIAN -DTERMIO -O3 -fomit-frame-pointer -Wall -DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DRMD160_ASM -DAES_ASM -DVPAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM -c -o cryptlib.o cryptlib.c
cc1: error: unrecognized command line option '-mssse3'
cc1: error: unrecognized argument in option '-mtune=intel'
cc1: note: valid arguments to '-mtune=' are: arm1020e arm1020t arm1022e arm1026ej-s arm10e arm10tdmi arm1136j-s arm1136jf-s arm1156t2-s arm1156t2f-s arm1176jz-s arm1176jzf-s arm2 arm250 arm3 arm6 arm60 arm600 arm610 arm620 arm7 arm70 arm700 arm700i arm710 arm7100 arm710c arm710t arm720 arm720t arm740t arm7500 arm7500fe arm7d arm7di arm7dm arm7dmi arm7m arm7tdmi arm7tdmi-s arm8 arm810 arm9 arm920 arm920t arm922t arm926ej-s arm940t arm946e-s arm966e-s arm968e-s arm9e arm9tdmi cortex-a12 cortex-a15 cortex-a15.cortex-a7 cortex-a5 cortex-a53 cortex-a57 cortex-a57.cortex-a53 cortex-a7 cortex-a8 cortex-a9 cortex-m0 cortex-m0plus cortex-m1 cortex-m3 cortex-m4 cortex-r4 cortex-r4f cortex-r5 cortex-r7 ep9312 fa526 fa606te fa626 fa626te fa726te fmp626 generic-armv7-a iwmmxt iwmmxt2 marvell-pj4 mpcore mpcorenovfp native strongarm strongarm110 strongarm1100 strongarm1110 xscale
cc1: error: unrecognized argument in option '-march=i686'
cc1: note: valid arguments to '-march=' are: armv2 armv2a armv3 armv3m armv4 armv4t armv5 armv5e armv5t armv5te armv6 armv6-m armv6j armv6k armv6s-m armv6t2 armv6z armv6zk armv7 armv7-a armv7-m armv7-r armv7e-m armv7ve armv8-a armv8-a+crc iwmmxt iwmmxt2 native
<builtin>: recipe for target 'cryptlib.o' failed
make[1]: *** [cryptlib.o] Error 1
make[1]: Leaving directory '/home/ja/dev/sandbox/qpython3-core-master/openssl/crypto'
Makefile:278: recipe for target 'build_crypto' failed
make: *** [build_crypto] Error 1
这是在执行this script期间发生的,就在configure
无错误地返回但是All configured for 'linux-elf'
之后。我感觉configure
没有正确设置目标,但我不是100%肯定,因为我不熟悉cc1
选项-mtune
和-mssse3
(这是第一次遇到,我没有通过搜索互联网收集任何有用的东西)。
有人可以就上述建议吗?