![linux – 在Ubuntu 11.10上构建的Haskell程序不能在Ubuntu 10.04上运行,第1张 linux – 在Ubuntu 11.10上构建的Haskell程序不能在Ubuntu 10.04上运行,第1张](/aiimages/linux+%E2%80%93+%E5%9C%A8Ubuntu+11.10%E4%B8%8A%E6%9E%84%E5%BB%BA%E7%9A%84Haskell%E7%A8%8B%E5%BA%8F%E4%B8%8D%E8%83%BD%E5%9C%A8Ubuntu+10.04%E4%B8%8A%E8%BF%90%E8%A1%8C.png)
概述我试图为我的
程序的用户提供除了当前 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附带libgm 我试图为我的程序的用户提供除了当前 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上都能正确运行.
总结
以上是内存溢出为你收集整理的linux – 在Ubuntu 11.10上构建的Haskell程序不能在Ubuntu 10.04上运行全部内容,希望文章能够帮你解决linux – 在Ubuntu 11.10上构建的Haskell程序不能在Ubuntu 10.04上运行所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
评论列表(0条)