2

Ubuntu 11.04 OS の下で 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

だから、私は3つの質問があります:

最初: なぜ " Bad CPU MHZ value=0, res='CPU MHZ=0 " ? すべてのコアの CPU スロットリングが 0 に設定されていることを正確に確認しました (/sys/devices/system/cpu/cpu*/cpufreq/throttle ファイルを確認しました)。ARM CPU のクロック周波数を引数として渡す方法はありますか?

2番目: なぜ " sh: Syntax error: EOF in backquote replacement " ?

3 番目:「ICC の使用可能なコンパイラが見つかりません。Make を中止します..」 ./configure 実行可能ファイルで ICC を検索しないように言う方法はありますか? ATLAS を ARM でビルドしようとしているため、ICC は利用できません。

よろしくお願いいたします。

ギクス

4

1 に答える 1

2

ATLAS 構成環境は ARM では壊れており、一般的にフォールト トレラントではありません。

  • 最初に、/proc/cpuinfo を grep してシステム パフォーマンスを判断しようとします (これは、人間が読める情報ダンプ以外を意図したものではありません)。これは、configure コマンド ラインで頻度を指定することで上書きできます。-m <MHz>
  • 次に、電源管理が有効になっているかどうかを調べます。有効になっている場合は、再び救済します。構成オプションが表示されませんがProbeThrottle()CONFIG/src/backend/archinfo_linux.cリターン 0 を作成すると、それを超えてしまいます。
  • 次に、数年前に一部の Cortex-A8 プラットフォームに対して実際に何らかの作業が行われたようであり、ARMv7 のデフォルトで設定されているコンパイラ フラグがCONFIG/src/atlcomp.txtinclude にあるという事実に気付きます-mfloat-abi=softfp。これを「ハード」に変更すると、最新の ARM Linux ディストリビューションで実際に動作します。
  • 構文エラーは、エラーを処理せずにコンパイラを検索しようとした結果/opt/binです/opt/sbin

上記の回避策では、ICC エラーは見られず、ビルドはクラッシュして燃える前にかなり進んでいます。

つまり、ARM で適切に動作させるためには、ある程度の移植作業が必要になります。エラーレポートを開発者のメーリングリストに送信することから始めてみませんか?

于 2013-02-20T22:27:02.583 に答える