我正试图交叉编译node.js的手臂处理器按照此说明http://www.wigwag.com/devblog/cross-compile-node-js-for-arm/#comment-1419,一段时间后,我得到了一个"坏-rpath选项"上的旧。有人知道我怎么能解决它吗?
那篇文章其实是我写的…在试图修复同样的问题时遇到了这个问题。
显然,在我们现在使用的CodeSourcery二进制文件(通过飞思卡尔的工具gcc-4.4.4-glibc-2.11.1-multilib-1.0)中,ld命令不再喜欢rpath开关-就像你的问题一样。在任何情况下,您都可以通过切换到g++来解决这个问题,正如本论坛所建议的那样:https://groups.google.com/forum/?fromgroups= !主题/nodejs uzHnSBhEp6g
https://gist.github.com/edhemphill/5094239
所以做这个改变:
export LD="${PREFIX_BIN}-g++"
进一步解释:
这里时髦的-Wl,-rpath-link,${X}
语法是将交换机-rpath-link X
传递给链接器。这是必需的,这样当您的节点二进制文件的共享库在您的ARM平台上运行时,可以找到它们的共享库。幸运的是,大多数共享库的混乱都不是问题,因为节点链接是静态的。