【发布时间】:2013-04-22 14:43:04
【问题描述】:
假设架构相似,是否有任何方法可以生成独立的 haskell 可执行文件以在不同的 linux 机器上运行?
对不起,我应该更清楚。其他机器上可能没有安装 ghc - 有点像 python 的 pyinstaller 是我正在寻找的?
【问题讨论】:
标签: linux haskell executable ghc
假设架构相似,是否有任何方法可以生成独立的 haskell 可执行文件以在不同的 linux 机器上运行?
对不起,我应该更清楚。其他机器上可能没有安装 ghc - 有点像 python 的 pyinstaller 是我正在寻找的?
【问题讨论】:
标签: linux haskell executable ghc
在编译 Haskell 项目时,您可以使用标志 -static -optl-pthread -optl-static 来避免动态链接依赖项。这应该可以帮助您在两台没有完全相同库版本的 Linux 机器上运行编译后的可执行文件。
【讨论】:
yum install glibc-static),但 RTS 调用 dlopen 仍然存在问题。
是的,这是可能的。就像 gcc 生成的二进制文件一样,假设动态库和平台匹配,您可以在系统之间复制它们。
实际上,这比 GCC 二进制文件略高,因为默认情况下 GHC 将动态链接更多库(例如:libgmp,除非您使用 integer-simple 构建 GHC)。
【讨论】: