この指示に従って、arm プロセッサ用に node.js をクロスコンパイルしようとしています http://www.wigwag.com/devblog/cross-compile-node-js-for-arm/#comment-1419しばらくしてからld で「不正な -rpath オプション」が表示されます。どうすれば修正できるか知っている人はいますか?
1 に答える
私は実際にその記事を書きました...同じ問題を修正しようとしているときに、これに出くわしました。
どうやら、現在使用している CodeSourcery バイナリ (Freescale のツールを介した gcc-4.4.4-glibc-2.11.1-multilib-1.0) では、ld コマンドは rpath スイッチを好まなくなりました - あなたの問題と同じです。いずれにせよ、このフォーラムで提案されているように g++ に切り替えることでこれを回避できます: https://groups.google.com/forum/?fromgroups=#!topic/nodejs/uzHnSBhEp6g
実用的なソリューションの要点は次のとおりです:
https://gist.github.com/edhemphill/5094239
したがって、次の変更を行います。
export LD="${PREFIX_BIN}-g++"
さらなる説明:
そこにあるファンキーな-Wl,-rpath-link,${X}
構文は、スイッチ-rpath-link X
をリンカーに渡すことです。これは、ノード バイナリの共有ライブラリがARM プラットフォームで実行されたときに共有ライブラリを見つけられるようにするために必要です。幸いなことに、ノードは非常に静的にリンクしているため、共有ライブラリの混乱のほとんどは問題ではありません。
http://ftp.gnu.org/old-gnu/Manuals/ld-2.9.1/html_node/ld_3.html