2013-02-20 103 views
2

我试图在我的Tegra3 ARM CPU(cortex-a9)上安装Ubuntu 11.04操作系统下的ATLAS库(v3.10.1),但是我无法通过配置步骤.. 当我启动该 “的./configure” 可执行我得到这个输出如下:ATLAS on ARM配置失败

make: `xconfig' is up to date. 
./xconfig -d s /home/ubuntu/Libraries/ATLAS/build/.././ -d b /home/ubuntu/Libraries/ATLAS/build -D c -DATL_ARM_HARDFP=1 -Ss ADdir /Libraries/ATLAS/build/ARMHARDFP -Si archdef 0 -Fa alg -mfloat-abi=hard 

OS configured as Linux (1) 

Assembly configured as GAS_ARM (7) 

Vector ISA Extension configured as NEON (10,1024) 

Architecture configured as ARMv7 (46) 

Bad CPU MHZ value=0, res='CPU MHZ=0 
' 

Clock rate configured as 0Mhz 

Maximum number of threads configured as 4 
Parallel make command configured as '$(MAKE) -j 4' 

Pointer width configured as 32 
Cannot detect CPU throttling. 
rm -f config1.out 
make atlas_run atldir=/home/ubuntu/Libraries/ATLAS/build exe=xprobe_comp redir=config1.out \ 
       args="-v 0 -o atlconf.txt -O 1 -A 46 -Si nof77 0 -V 1024 -Fa ic '-mfloat-abi=hard' -Fa sm '-mfloat-abi=hard' -Fa dm '-mfloat-abi=hard' -Fa sk '-mfloat-abi=hard' -Fa dk '-mfloat-abi=hard' -Fa xc '-mfloat-abi=hard' -Fa gc '-mfloat-abi=hard' -Fa if '-mfloat-abi=hard' -b 32 -d b /home/ubuntu/Libraries/ATLAS/build" 
make[1]: Entering directory `/home/ubuntu/Libraries/ATLAS/build' 
cd /home/ubuntu/Libraries/ATLAS/build ; ./xprobe_comp -v 0 -o atlconf.txt -O 1 -A 46 -Si nof77 0 -V 1024 -Fa ic '-mfloat-abi=hard' -Fa sm '-mfloat-abi=hard' -Fa dm '-mfloat-abi=hard' -Fa sk '-mfloat-abi=hard' -Fa dk '-mfloat-abi=hard' -Fa xc '-mfloat-abi=hard' -Fa gc '-mfloat-abi=hard' -Fa if '-mfloat-abi=hard' -b 32 -d b /home/ubuntu/Libraries/ATLAS/build > config1.out 
sh: Syntax error: EOF in backquote substitution 
sh: Syntax error: EOF in backquote substitution 
sh: Syntax error: EOF in backquote substitution 
/usr/bin/ld: error: /tmp/cck4AYUv.o uses VFP register arguments, xctest does not 
/usr/bin/ld: failed to merge target specific data of file /tmp/cck4AYUv.o 
collect2: ld returned 1 exit status 
make[2]: *** [IRunCComp] Error 1 
/usr/bin/ld: error: /tmp/ccuMjBW4.o uses VFP register arguments, xctest does not 
/usr/bin/ld: failed to merge target specific data of file /tmp/ccuMjBW4.o 
collect2: ld returned 1 exit status 
make[2]: *** [IRunCComp] Error 1 


Unable to find usable compiler for ICC; abortingMake sure compilers are in your path, and specify good compilers to configure 
(see INSTALL.txt or 'configure --help' for details)make[1]: *** [atlas_run] Error 1 
make[1]: Leaving directory `/home/ubuntu/Libraries/ATLAS/build' 
make: *** [IRun_comp] Error 2 
ERROR 512 IN SYSCMND: 'make IRun_comp args="-v 0 -o atlconf.txt -O 1 -A 46 -Si nof77 0 -V 1024 -Fa ic '-mfloat-abi=hard' -Fa sm '-mfloat-abi=hard' -Fa dm '-mfloat-abi=hard' -Fa sk '-mfloat-abi=hard' -Fa dk '-mfloat-abi=hard' -Fa xc '-mfloat-abi=hard' -Fa gc '-mfloat-abi=hard' -Fa if '-mfloat-abi=hard' -b 32"' 
mkdir src bin tune interfaces 
mkdir: cannot create directory `src': File exists 
mkdir: cannot create directory `bin': File exists 
mkdir: cannot create directory `tune': File exists 
mkdir: cannot create directory `interfaces': File exists 
make: *** [make_subdirs] Error 1 
make -f Make.top startup 
make[1]: Entering directory `/home/ubuntu/Libraries/ATLAS/build' 
Make.top:1: Make.inc: No such file or directory 
Make.top:325: warning: overriding commands for target `/AtlasTest' 
Make.top:76: warning: ignoring old commands for target `/AtlasTest' 
make[1]: *** No rule to make target `Make.inc'. Stop. 
make[1]: Leaving directory `/home/ubuntu/Libraries/ATLAS/build' 
make: *** [startup] Error 2 
mv: cannot stat `lib/Makefile': No such file or directory 
.././configure: 450: cannot create lib/Makefile: Directory nonexistent 
.././configure: 451: cannot create lib/Makefile: Directory nonexistent 
.././configure: 452: cannot create lib/Makefile: Directory nonexistent 
.././configure: 453: cannot create lib/Makefile: Directory nonexistent 
.././configure: 509: cannot create lib/Makefile: Directory nonexistent 
DONE configure 

所以,我有三个问题:

第一:为什么“坏CPU MHZ值= 0,RES ='CPU MHZ = 0“?我确切地说,所有核心的CPU节制设置为0(我检查了/ sys/devices/system/cpu/cpu */cpufreq/throttle文件)。有没有办法将ARM cpu的时钟频率作为参数传递?

第二:为什么“sh:语法错误:EOF反向引用替换”?

第三:“无法找到可用的ICC编译器; abortingMake ..”有没有办法说./configure可执行文件不寻找ICC?因为我试图在ARM上构建ATLAS,所以ICC不可用。

在此先感谢您的帮助!

Guix

回答

2

ATLAS的配置环境打破了ARM,一般不是很容错:

  • 首先它试图通过在/ proc/cpuinfo中grepping(它从不以确定系统性能除了一些人类可读的信息转储之外,它们都是用于其他目的的)你可以通过在configure命令行中指定一个频率来覆盖它:-m <MHz>
  • 然后它探测电源管理是否被启用 - 如果是,它会再次释放。看不到配置选项,但如果您在CONFIG/src/backend/archinfo_linux.c中使ProbeThrottle()返回0,则它会超过该选项。
  • 几年前,某些Cortex-A8平台似乎已经完成了一些工作,CONFIG/src/atlcomp.txt中的默认设置为ARMv7的编译器标志包括-mfloat-abi=softfp,这时您会遇到这种情况。将其更改为“硬”,实际上它将用于现代ARM Linux发行版。
  • 语法错误是由于试图在/opt/bin/opt/sbin中查找编译器而不处理错误而产生的。

通过上述解决方法,我没有看到任何ICC错误,并且在崩溃和刻录之前构建得到了一个相当的位。

总之,为了在ARM上正常工作,需要一些移植工作。也许你可以先发送错误报告给他们的开发者邮件列表?

+0

http://www.vesperix.com/arm/index.html可能是一个潜在的替代资源。 – unixsmurf 2013-02-20 23:50:12

+0

感谢您的回答,我会尝试这些技巧并让您知道。 – user2092113 2013-02-21 08:06:15

+0

我试过你的诡计(-m选项,-mfloat-abi = hard已经完成),但输出与之前完全一样。这里是我的cmd行:'../configure -D c -m = 1300 -DATL_ARM_HARDFP = 1 -Ss ADdir =/libraries/ATLAS/build/ARMHARDFP -Si archdef 0 -Fa alg -mfloat-abi = hard' – user2092113 2013-02-21 11:00:41