【发布时间】:2013-07-11 16:36:38
【问题描述】:
我有一个构建系统,它使用硬编码的 RPATH 生成二进制文件。如果所需的包不在当前机器上,我有一个包管理器,它将下载并解压缩丢失的库。
我可以挂钩 linux 动态链接器,以便在找不到库的情况下运行我的包管理器吗?然后在库可用后重新运行动态链接器?
【问题讨论】:
-
是的,但为什么你的包管理器不处理依赖关系?
-
二进制文件已复制到与构建它的机器不同的机器上。我可以手动重新运行包管理器来获取包,但我希望它通过动态链接器自动工作。
-
为什么你复制的是二进制而不是生成的包?
-
我不认为我们在谈论同一件事。我的“包管理器”将第 3 方包安装到本地系统,它不像 tar,它不会创建包含二进制文件的包。一旦在目标机器上,包管理器需要的信息就在二进制文件的 RPATH 中。
标签: linux linker ld dynamic-linking