我可以轻松构建一个静态二进制文件,以便在fakeroot中使用吗?

时间:2011-11-23 14:05:03

标签: linker static-linking

fakeroot似乎构建了一些libfakeroot.a(但在.lib目录中)。 但我不确定,静态链接器确实可以替换/重命名符号,因为动态链接器可以。

2 个答案:

答案 0 :(得分:0)

似乎解决方案是使用fakeroot-ng,它适用于静态链接的二进制文件。

答案 1 :(得分:0)

Fakeroot使用动态链接器来实现其魔力(特别是LD_PRELOAD)。不幸的是,动态链接器不参与加载静态链接的二进制文件(这是动态链接器本身的调用方式:/lib/ld-linux.so.2是静态编译的。)

如上所述,就我所知,你唯一的选择是使用fakeroot-ng,它使用完全不同的机制注入流程,因此能够工作静态链接的库没有问题。

事实上,静态链接库是我开始编写fakeroot-ng的部分原因。当时,没有办法告诉ldconfig在子树上运行,并且ldconfig是静态链接的。

Shachar