0
在一個乾淨的,空的virtualenv做一個pip install scipy
上odroid XU4安裝SciPy的(Python 2.7版,Ubuntu的15.04)PIP使用錯誤的體系結構
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
...
所以很顯然,點子沒有正確地拿起它的手臂。什麼是正確的方式來設置?
我注意到,arm7l(由uname列出)未列出在上面的錯誤跟蹤一個選項,但嘗試也無妨如下:
ARCHFLAGS='-arch arm7l' pip install scipy
但完全相同的輸出。
我知道我可以apt-get install python-scipy
,但我寧願通過pip來做,所以我可以使用最新版本並完全控制我的環境(調試ubuntu包裝的scipy掛在某些可在x64上正常運行的功能的問題)
編輯:嘗試直接從源編譯instructions here,但仍然是同樣的問題,gfortran沒有撿起正確的拱門。
這似乎更像是一個[ServerFault(http://serverfault.com/)問題我解決。 – IgnisErus
顯然這可以追溯到一個numpy的bug:https://github.com/numpy/numpy/issues/6495。解決方法仍然不清楚,但我。 – dgorissen