为什么使用GHC 7.10.2构建的可执行文件与librt和libc都有依赖关系?

时间:2016-06-21 15:33:14

标签: haskell ghc

根据https://docs.oracle.com/cd/E36784_01/html/E36873/librt-3lib.html

  

历史上,这个库中的函数提供了许多   POSIX.1b实时扩展指定的接口。看到   标准(5)。此功能现在位于libc(3LIB)中。

     

维护此库以提供两者的向后兼容性   运行时和编译环境。共享对象已实现   作为libc.so.1的过滤器。新的应用程序开发无需指定   -lrt。

所以目前它应该只链接到libc,它应该包含librt中包含的所有内容。 libdl包含的libdl依赖也是如此。

1 个答案:

答案 0 :(得分:5)

这是在Trac #8713中提出的(两年前!),其中包含从GHC运行时系统中删除ghc-libs.patch要求的补丁librt。 (运行时系统正在引入librt。)不幸的是,在讨论的时候,似乎修补程序在Solaris 10或11上破坏了GHC。然后人们就像往常一样离开了机票在开源项目上也是如此。也许那些拥有大量空闲时间和虚拟机的人会出现并修复这些补丁。