GHC可以将二进制文件链接到libc实现,例如uclibc(默认情况下用于OpenWrt)吗?

Cet*_*ert 10 linker haskell glibc uclibc ghc

我正在使用Debian/MIPS + QEMU来构建PortFusion的MIPS端口(TCP隧道解决方案).生成的二进制文件与GNU libc链接.因此,它们不能仅仅复制并用于带有uclibc而不是eglibc(看起来与GNU libc二进制兼容)的vanilla OpenWrt .


  • 有没有办法将Debian/MIPS上的Haskell/GHC二进制文件与uclibc而不是eglibc链接

  • OpenWrt使用uclibc是否真的为什么从Debian复制的PortFusion二进制文件无法运行的原因,-ash: binary not found或者这条消息可能是由于其他原因造成的?


有关使用Linux内核和CPU仿真的详细信息,请参阅https://github.com/corsis/PortFusion/wiki/MIPS-Buildshaskell-platform.


make当我尝试构建使用eglibc的自定义OpenWrt映像时,OpenWrt的GIT存储库的当前负责人失败了.

qeh*_*hgt 1

有没有办法将 Debian/MIPS 上的 Haskell/GHC 二进制文件链接到 uclibc 而不是 elibc?

不可以。您需要使用基于 uclibc 的 GCC 交叉编译器从源代码重建 Haskell/GHC。

OpenWrt 使用 uclibc 真的是原因吗

是的。另外,您可以尝试在 MIPS pplatform 上使用ldd来检查缺少哪些库。我确信它会是一些与 libc 相关的库。