尝试交叉编译node.js for arm时出现错误的选项

我试图交叉编译一个arm处理器的nod​​e.js按照这个指令http://www.wigwag.com/devblog/cross-compile-node-js-for-arm/#comment-1419和一些时间我在ld上得到了一个“bad -rpath选项”。 有谁知道我该如何解决?

我其实写了那篇文章…试图解决同样的问题时,碰到这个问题。

显然,在我们现在使用的CodeSourcery二进制文件(通过飞思卡尔的工具gcc-4.4.4-glibc-2.11.1-multilib-1.0)中,ld命令不再喜欢rpath开关 – 就像你的问题一样。 在任何情况下,你可以通过切换到g ++来解决这个问题,正如这个论坛所build议的那样: https : //groups.google.com/forum/?fromgroups=#!topic/ nodejs/ uzHnSBhEp6g

这是一个工作解决scheme的要点:
https://gist.github.com/edhemphill/5094239

所以做这个改变:

 export LD="${PREFIX_BIN}-g++" 

进一步解释:

那里的时髦-Wl,-rpath-link,${X}语法是将switch -rpath-link X传递给链接器。 这是必要的,因此您的节点二进制共享库可以在您的ARM平台上运行时find它们的共享库。 幸运的是,大多数共享库混乱是一个非问题,因为节点链接非常静态。

http://ftp.gnu.org/old-gnu/Manuals/ld-2.9.1/html_node/ld_3.html