使用错误的架构pip install scipy

时间:2015-12-02 18:14:50

标签: python scipy arm pip odroid

odroid XU4(python 2.7,ubuntu 15.04)上的干净空虚的virtualenv中执行pip install scipy

uname -a

Linux odroid 3.10.82-57 #1 SMP PREEMPT Wed Oct 7 13:19:01 BRT 2015 armv7l armv7l armv7l GNU/Linux

输出:

...
gfortran: error: unrecognized argument in option ‘-march=x86-64’
gfortran: 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
gfortran: error: unrecognized argument in option ‘-mtune=generic’
gfortran: 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-m0.small-multiply cortex-m0plus cortex-m0plus.small-multiply cortex-m1 cortex-m1.small-multiply cortex-m3 cortex-m4 cortex-m7 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
gfortran: error: unrecognized command line option ‘-msse2’
gfortran: error: unrecognized argument in option ‘-march=x86-64’
gfortran: 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
gfortran: error: unrecognized argument in option ‘-mtune=generic’
gfortran: 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-m0.small-multiply cortex-m0plus cortex-m0plus.small-multiply cortex-m1 cortex-m1.small-multiply cortex-m3 cortex-m4 cortex-m7 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
gfortran: error: unrecognized command line option ‘-msse2’
error: Command "/usr/bin/gfortran -Wall -g -ffixed-form -fno-second-underscore -fPIC -O2 -march=x86-64 -DMS_WIN64 -mtune=generic -msse2 -I/home/dgorissen/venvs/orangspy/local/lib/python2.7/site-packages/numpy/core/include -c -c scipy/fftpack/src/dfftpack/dcosti.f -o build/temp.linux-armv7l-2.7/scipy/fftpack/src/dfftpack/dcosti.o" failed with exit status 1
 ...

所以显然pip没有正确地拿起它的手臂。设置它的正确方法是什么?

我注意到arm7l(由uname列出)未在上面的错误跟踪中列为选项,但仍尝试如下:

ARCHFLAGS='-arch arm7l' pip install scipy

但输出完全相同。

我知道我可以apt-get install python-scipy但我宁愿通过pip这样做,所以我可以使用最新版本并完全控制我的环境(调试ubuntu打包的scipy挂在某些运行良好的函数上的问题在x64)

编辑:尝试直接从每个instructions here的源代码编译,但仍然是同样的问题,gfortran没有选择正确的拱门。

1 个答案:

答案 0 :(得分:0)

通过安装numpy 1.9.2

解决

https://github.com/scipy/scipy/issues/5574