3

NAS デバイスで Node をコンパイルしようとしていますが、次のエラーが発生し、これを機能させる方法がよくわかりません。

/node-v0.6.6/deps/v8/src/arm/constants-arm.h:33:2: error: #error ARM EABI support is 

required.
scons: *** [obj/release/accessors.o] Error 1
scons: building terminated because of errors.
Waf: Leaving directory `/ffp/home/root/node-v0.6.6/out'
Build failed:  -> task failed (err #2): 
    {task: libv8.a SConstruct -> libv8.a}

誰かが実際に Node を D-Link NAS でコンパイルできたのでしょうか? 誰かがこれを行うための公式ガイドを知っていますか、またはどこに助けを求める必要がありますか?

どうもありがとう。

4

1 に答える 1

5

DNS320、Fonzplug、NodeJS、Funplug (DNS323、私の最初のターゲット) も sheeva プラグに適用されるようです!!.

(興味深いことに、323 はコンパイルに約 7.5 時間かかりますが、320 は 1 時間 3 分かかります)

(1G8 Intel Linux (Debian) でもコンパイルに約 15 分かかります)

======================== 注: fonz プラグでは、次のものがインストールされている必要があります。

  • ビンユーティリティ
  • リスト項目
  • カーネルヘッダー
  • pkg-config
  • ユークリブ
  • gcc
  • 作る
  • gettext
  • パッチ
  • バイソン
  • フレックス
  • autoconf
  • automake

============================= その後、次のことができます。

exported TMPDIR=/ffp/tmp        (need this to put tmp files on HD not in memory!)

export CC='gcc -march=armv5t -mfloat-abi=softfp -fno-tree-sink -O0'
export CCFLAGS='-march=armv5t -mfloat-abi=softfp -fno-tree-sink -O0'
export CXX='g++ -march=armv5t -mfloat-abi=softfp -fno-tree-sink -O0'
export GCC='-march=armv5t -mfloat-abi=softfp -fno-tree-sink -O0'

./configure --prefix=/ffp --without-snapshot
......
make
.............
make install

ノート:

私は NodeJS 0.4.9 の経験があり、それを使い続けています。その理由を読んでください!!

実際にエラーなしでコンパイルされます!! しかし!

実行時 - 不正な命令 - ポップアップ

これは、V8 がアームではないホスト マシンでコンパイルされることが期待されているためと思われます!!

私が見つけた参照については、以下を参照してください: (これらすべてを見つけるのに 6 か月かかりました) ARM での実行は組み込み環境であると誰かが判断したため、ARM でコンパイルすることはありません!!

権限のある誰かがこれを修正できますか!!!!!!!!

クリーンなコンパイルを取得できるという事実は、それが機能することを示していますが、少なくとも V8 も私たちを望んでいません????

元の手順: https://github.com/joyent/node/wiki/Installation

他に見つけたもの:

http://code.google.com/p/v8/wiki/CrossCompilingForARM
http://code.google.com/p/v8/issues/detail?id=914
http://code.google.com/p/v8/issues/detail?id=1632&q=vfp%20off&colspec=ID%20Type%20Status%20Priority%20Owner%20Summary%20HW%20OS%20Area%20Stars
https://github.com/joyent/node/issues/1566
http://fastr.github.com/articles/Node.js-on-OpenEmbedded.html
http://freebsd.1045724.n5.nabble.com/problems-with-cvsup-on-FreeBSD-9-snapshot-201101-td4491053.html
http://code.google.com/p/v8/issues/detail?id=1446
http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.dai0133c/index.html
http://infocenter.arm.com/help/topic/com.arm.doc.qrc0007e/QRC0007_VFP.pdf
https://github.com/joyent/node/issues/1386
https://github.com/joyent/node/issues/2131

この記事から、事前にインストールする必要がある fonz の最小インストール数は次のとおりです。

http://www.shadowandy.net/2008/08/adding-compiling-capabilities-to-your-dns-323.htm

DNS323 - wiki サイト (新しいもの??!!)

http://dns323.kood.org/dns-320
http://tsd.dlink.com.tw/downloads2008detail.asp (open source for dlink find dns then 320 - or 323 etc)

コンパイラ オプション:

http://gcc.gnu.org/onlinedocs/gcc/ARM-Options.html

デバッグ オプション: http://gcc.gnu.org/onlinedocs/gcc/Debugging-Options.html

興味:

http://itrs.tw/wiki/Code_Sourcery_G%2B%2B_Lite
http://pandorawiki.org/Floating_Point_Optimization
http://wiki.debian.org/ArmHardFloatPort/VfpComparison
https://groups.google.com/group/nodejs-dev/browse_thread/thread/18bfc495b01e2f9b/8507143b5578ebf9#8507143b5578ebf9
http://stackoverflow.com/questions/6788768/cannot-build-node-on-sheevaplug-armv5t-with-debian-squeeze/6790823#6790823
http://www.plugcomputer.org/plugwiki/index.php/Scratchbox2_based_cross_compiling

なぜ 0.6.6 ではなく 0.4.9 なのですか? 6.6 は同じ場所で失敗している可能性がありますが、エラーには EABI エラーが表示されます。Fonz のコンパイラは EABI を認識しません。

V8 担当者 (またはノード担当者) がエラー記述子を EABI に変更したと思いますが、問題を追跡するのに十分な情報がありません。コンパイラには他にもたくさんのスイッチがあります - 私はそれらすべてを試すのをあきらめました (他の人も同じ問題を見つけたようです. 彼らは私よりもはるかに知識が豊富です.違いを生む可能性のある利用可能なスイッチ)。

興味深いことに、V8 コンパイルはコンパイルに CXXFLAGS スイッチのみを使用しますが、残りの NodeJS は私がラベル付けした他のスイッチを使用しているようです!!

また、スナップショットを実行するために/tmpを指すことに注意してください-私が何をしても-/tmpを/tmp1に移動し、ln -s /tmp /ffp/tmp ie

mv /tmp /tmp1

ln -s /tmp /ffp/tmp


于 2011-12-21T21:55:03.227 に答える