澄清

澄清

我在使用 busybox 和 dns 查找时遇到一些问题。我发现索赔这是一个 glibc 问题。我在gentoo。我想针对 uClibc 编译 busybox,而不替换系统上的 glibc。

澄清

主机系统

Gentoo 系统,针对 glibc 构建的软件包。我已经将 busybox 安装为针对 glibc 的静态链接二进制文件。编辑:架构是x86_64,没有multilib。

目标

我想将 busybox 链接到 uClibc,而不弄乱主机系统的 libc。我更喜欢使用 gentoo 的本地工具来实现这一点,比如 emerge。但是,也欢迎涉及一些手动脚本的建议。目标主机是相同的架构。

尝试过

  1. 使用emerge --root=/..选项。但链接似乎仍然是针对 glibc 进行的/
  2. 使用gentoo 前缀项目,但我最终得到了另一个基于 glibc 的第 3 阶段,位于前缀安装路径中。
  3. 我有成立的选项gcc -Xlinker -rpath=/default/path/to/libraries -Xlinker -I/default/path/to/libraries/ld.so program.c。但我不知道如何在gentoo中使用它make.conf 或者在像 busybox 这样的常规make构建中。

编辑;更多尝试:

  1. 在busybox上设置USE="-static以构建动态链接版本。使用 查找它的库依赖项ldd /bin/busybox。 Stangly,ldd不返回任何nss*.so库。所以我手动将图像复制给他们。仍然一点,nslookupofping example.com会导致错误。
  2. 从以下位置下载 uClibc 阶段https://www.gentoo.org/downloads/。在 chroot 中配置并重新构建 busybox 二进制文件。这可行,但对于构​​建 +/- 1MB busybox 二进制文件(与 144MB 的 stage3 相比)来说绝对是过分的。

相关内容