node.js - 尝试为arm交叉编译node.js时错误的-rpath选项

标签 node.js arm cross-compiling

我正在尝试按照此说明为arm处理器交叉编译node.js http://www.wigwag.com/devblog/cross-compile-node-js-for-arm/#comment-1419一段时间后,我在 ld 上收到“错误的 -rpath 选项”。有谁知道我该如何解决它?

最佳答案

我实际上写了那篇文章...只是在尝试解决相同问题时遇到了这个问题。

显然,在我们现在使用的 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 传递给链接器。这是必需的,以便 Node 二进制文件的共享库在 ARM 平台上运行时可以找到它们的共享库。幸运的是,大多数共享库的困惑都不是问题,因为 Node 静态链接如此之多。

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

关于node.js - 尝试为arm交叉编译node.js时错误的-rpath选项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14362290/

相关文章:

c++ - 如何使用 mbed-os 中的可用库?

lisp - 使用 SBCL 进行交叉编译

node.js - Express Validator - 如何处理条件验证

macos - OSX 为 node forever 进程启动了 plist

javascript - 如何使用 Node.js/Express 自动编译客户端 CoffeeScript 文件

javascript - Guard 不在 nestJs 中执行 passport 策略

debugging - 如何在ARM处理器上设置软件断点?

linux - Linux 内核上的 arm64 中的调试异常 (ptrace single_step) 如何工作?

Android NDK 交叉编译 FFmpeg,dlopen 失败 : cannot locate symbol

c++ - 嵌入式 Linux 中链接 'libstdc++' 库已损坏