2011-07-22 15 views
3

Debian(バージョン6.0.2)を実行しているSheevaplug(armv5t)のノード/ビルドのいくつかの方法を試しましたが、 with ...DebianスクイーズでSheevaplug(armv5t)のノードを構築できません

$ node 
Illegal instruction 

...私はそれをコンパイルすることができたすべての場合に...。

私が(でも様々な組み合わせで)いくつかのガイドに従うことを試みている

http://coolaj86.info/articles/debugging-v8-and-node-js-on-arm.html)は今、私は立ち往生感じARMV5Tするためのパラメータを変更しなければならなかった、いくつかの人々はARMV5Tのノードを構築することに成功したようだが、多分それはノードとV8のバージョンによって異なります。

どのように私は継続して試すことができますか?私は喜んであらゆる提案をテストします。

答えて

1

ノードの安定版0.4.10を使用して、Sheevaplugで次の手順で解決しました。開いたファイルに

$ sudo apt-get update 
$ sudo apt-get install scons make libssl 

(必要に応じてさらにいくつかのパッケージもあります)

$ cd /home/user/source 
$ wget http://nodejs.org/dist/node-v0.4.10.tar.gz 
$ tar zxvf node-v0.4.10.tar.gz 
$ cd node-v0.4.10 
$ nano deps/v8/SConstruct 

変更〜ライン139は

 'CCFLAGS':  ['$DIALECTFLAGS', '$WARNINGFLAGS', '-march=armv5t'], 

へ/ V8/SConstruct

 'CCFLAGS':  ['$DIALECTFLAGS', '$WARNINGFLAGS'], 

をDEPSファイルを保存し、nanoを終了するには、ctrl +不足しているパッケージ

$ make 

に関する苦情のためのO入力し、Ctrl + X

$ ./configure 

チェックはしばらく時間がかかります〜私のシーバプラグで40分、ビルド・テストは

$ ./node 

場合はノードとノードを実行した後シェルは正常に起動し、シェルを終了して実行します。

$ sudo make install 
+0

私はこれが有用であることがわかったが、私は最初に正しくコンパイルV8のクロスを必要 - それはありませんでした。ここでは、腕のためにV8をクロスコンパイルするための参考のためのブログエントリがあります。 http://www.wigwag.com/devblog/?p=172 – EdH

1

私はポゴプルッグでバージョン6を使用しています。私は、コンパイラフラグを削除することが、ターゲットgccをビルドして、何をすべきかを知っているかのように最善の選択肢だと考えました。私は適切な解決策は、 'armeabi:softfp'の代わりに 'armeabi:soft'オプションを設定するビルドシステムを取得することで、gccフラグを設定しているからです。

しかし、あなたはちょうどそれがSConstructファイル(だけでなく、以前の記事のように-march = ARMV5T」を追加すること)でこれを行う仕事をしたい場合は

これは、私は157行付近でコメントアウトするものです。

'armeabi:softfp' : { 
    'CPPDEFINES' : ['USE_EABI_HARDFLOAT=0'], 
# 'vfp3:on': { 
#  'CPPDEFINES' : ['CAN_USE_VFP_INSTRUCTIONS'] 
# }, 
# 'simulator:none': { 
#  'CCFLAGS':  ['-mfloat-abi=soft'], 
# } 
    }, 

私は少しテストを行い、それは私のために働く。

関連する問題