configuration - ATLAS on ARM 配置失败

标签 configuration arm atlas

我正在尝试在 Ubuntu 11.04 操作系统下的 Tegra3 ARM CPU (cortex-a9) 上安装 ATLAS 库 (v3.10.1),但我无法通过配置步骤。 当我启动“./configure”可执行文件时,我得到以下输出:

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

所以,我有三个问题:

第一:为什么“Bad CPU MHZ value=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 不可用。

预先感谢您的帮助!

吉克斯

最佳答案

ATLAS 配置环境对于 ARM 来说是损坏的,并且总体上容错性不太好:

  • 首先,它尝试通过 grep/proc/cpuinfo 来确定系统性能(除了一些人类可读的信息转储之外,它从未用于任何其他用途)。您可以通过在配置命令行上指定频率来覆盖此设置:-m <MHz>
  • 然后它会探测是否启用了电源管理 - 如果是,它会再次退出。看不到配置选项,但如果您输入 ProbeThrottle()CONFIG/src/backend/archinfo_linux.c返回 0,它就过去了。
  • 然后,您会发现几年前似乎已经针对某些 Cortex-A8 平台完成了一些工作,并且在 CONFIG/src/atlcomp.txt 中为 ARMv7 默认设置了编译器标志。包括-mfloat-abi=softfp 。将其更改为“hard”,它实际上可以在现代 ARM Linux 发行版上运行。
  • 语法错误是由于尝试在 /opt/bin 中查找编译器而导致的。和/opt/sbin并且不处理错误。

通过上述解决方法,我没有看到任何 ICC 错误,并且构建在崩溃和烧毁之前得到了相当多的进展。

简而言之,为了使其在 ARM 上正常工作,需要进行一些移植工作。也许您可以首先向他们的开发人员邮件列表发送错误报告?

关于configuration - ATLAS on ARM 配置失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14986310/

相关文章:

c# - 常量类与 web.config AppSettings

hadoop - 错误配置单元(使用 Derby): Source tables cannot be empty

c# - ConfigurationManager 不断获取 Machine.config 连接字符串

assembly - Cortex M0+ ARM 汇编 - 如何实现与位置无关的循环

r - BLAS-LAPACK-ATLAS-R 安装是否具有多线程?

c - ATLAS-LAPACK 未链接至 BLAS

c++ - G++编译: undefined reference to `ATL_<…>' on Ubuntu 18.04

ruby-on-rails - Rails Assets 管道在开发中连接 application.css 和 js,但在生产中不连接

arm - 交叉编译c++-文件: File format not recognized

C预处理器: dynamic const char