GHC能否将二进制文件与类似uclibc(默认用于OpenWrt)的libc实现链接在一起?

10

我正在使用Debian/MIPS+QEMU构建PortFusion的MIPS端口(一种TCP隧道解决方案)。生成的二进制文件链接到GNU libc。因此,它们不能仅仅被复制并在原始的OpenWrt上使用,原始的OpenWrt使用uclibc而不是eglibc(后者似乎与GNU libc具有二进制兼容性)。


  • 有没有办法在Debian/MIPS上将Haskell/GHC二进制文件与 uclibc 而非 eglibc 链接起来?

  • OpenWrt是否使用 uclibc 可能真的是从Debian复制过来的PortFusion二进制文件无法运行的原因,还是这个错误信息可能是由其他原因引起的?


请查看https://github.com/corsis/PortFusion/wiki/MIPS-Builds了解使用的haskell-platform、Linux内核和CPU仿真的详细信息。


OpenWrt GIT的最新版本在我尝试构建使用eglibc的自定义OpenWrt镜像时,在make阶段出现了故障。
1个回答

1

有没有一种方法可以在Debian/MIPS上链接Haskell/GHC二进制文件,而不是使用eglibc而是使用uclibc?

没有。您需要使用基于uclibc的GCC交叉编译器从源代码重新构建Haskell/GHC。

OpenWrt使用uclibc可能真的是原因吗?

是的。此外,您可以尝试在MIPS平台上使用ldd检查缺少哪个库。我确定其中会涉及到一些与libc相关的库。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接