加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Linux > 正文

linux – 在Ubuntu 11.10上构建的Haskell程序不能在Ubuntu 10.04

发布时间:2020-12-13 23:02:01 所属栏目:Linux 来源:网络整理
导读:我试图为我的程序的用户提供除了当前 Windows之外的一些 Linux二进制文件,所以我安装了Ubuntu 11.10(因为11.04上的haskell-platform软件包仍然是2010版本).但是,当我尝试在Ubuntu 10.04上运行生成的二进制文件时,我收到的消息是它找不到libgmp.so.10.检查/us
我试图为我的程序的用户提供除了当前 Windows之外的一些 Linux二进制文件,所以我安装了Ubuntu 11.10(因为11.04上的haskell-platform软件包仍然是2010版本).但是,当我尝试在Ubuntu 10.04上运行生成的二进制文件时,我收到的消息是它找不到libgmp.so.10.检查/usr/lib显示10.04附带libgmp.so.3而11.10附带libgmp.so.10.因此,GHC似乎是动态地而不是静态地链接到libgmp,我认为这是默认的.

有没有办法告诉GHC在二进制文件中静态包含libgmp?如果没有,是否有其他解决方案不需要用户安装不同版本的libgmp?

解决方法

事实证明,为了静态链接二进制文件,-static标志是不够的.相反,使用:

ghc -static -optl-static -optl-pthread --make yourfile.hs

使用这个,我的二进制文件在两个版本的Ubuntu上都能正确运行.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读