标签: haskell-platform

使用GHC,在用户空间安装GMP的cabal

我一直在尝试安装Haskell平台,并cabal-install在没有安装GNU Multi-Precision软件包(GMP)的系统上在用户空间的Linux上安装.

我设法安装了GHC-6.12.1并且GHCi通过设置LB_LIBRARY_PATH指向我安装GMP的lib目录cabal-install来工作,但是在下一步遇到问题,开始工作.它一直试图(静态地)链接到GMP.

这失败是因为GMP没有安装在系统中并且ld没有找到库的位置,并且没有环境变量(我知道)可以告诉ld在哪里可以找到用户安装的GMP,以及(显然)没有办法告诉配置Cabal提供相关-L标志.

经过多次徒劳无功的搜索和黑客攻击后,我找到了一个荒谬的简单想法,即安装我自己的ldshell脚本,调用ld具有相应-L标志的系统.

这是shell脚本101,当然:

#!/bin/sh
/usr/bin/ld -L$HOME/gnu/lib "$@"
Run Code Online (Sandbox Code Playgroud)

有了这个脚本安装在我PATH之前的目录中/usr/bin所有的问题似乎已经消失了.

haskell gmp ghc cabal haskell-platform

8
推荐指数
1
解决办法
1174
查看次数

如何在尝试制作haskell-platform时修复错误2?

我下载了哈斯克尔平台的源从这里:http://www.haskell.org/platform/linux.html,安装GHC和/.configure做到了.但是,当我做sudo make时,我收到以下错误:

Preprocessing library HUnit-1.2.4.2...

Test/HUnit/Base.hs:1:1:
    Could not find module `Prelude'
    Perhaps you haven't installed the profiling libraries for package `base'?
    Use -v to see a list of the files searched for.

Error:
Building the HUnit-1.2.4.2 package failed
make: *** [build.stamp] Error 2
Run Code Online (Sandbox Code Playgroud)

有谁知道如何解决这个问题?

我正在尝试在Ubuntu 12.04.1 LTS上安装

ubuntu haskell haskell-platform

8
推荐指数
2
解决办法
2594
查看次数

cabal安装cabal-install无法解决依赖关系

我刚刚做了brew install haskell-platform,它安装了Glorious Glasgow Haskell编译系统,版本7.6.3.

$ cabal --version
cabal-install version 1.16.0.2
using version 1.16.0 of the Cabal library

$ cabal update
Downloading the latest package list from hackage.haskell.org
Note: there is a new version of cabal-install available.
To upgrade, run: cabal install cabal-install

$ cabal install cabal-install
Resolving dependencies...
cabal: Could not resolve dependencies:
trying: cabal-install-1.20.0.3
rejecting: zlib-0.5.4.1, 0.5.4.0, 0.5.3.3, 0.5.3.2, 0.5.3.1, 0.5.2.0, 0.5.0.0,
0.4.0.4, 0.4.0.3, 0.4.0.2, 0.4.0.1, 0.4, 0.3, 0.2 (global constraint requires 
installed instance) …
Run Code Online (Sandbox Code Playgroud)

homebrew haskell cabal haskell-platform osx-mavericks

8
推荐指数
1
解决办法
3768
查看次数

如何从GHC for Snow Leopard获得64位二进制文​​件?

我最近将我的操作系统升级到Snow Leopard,这打破了我的GHC.我能够通过在/ usr/bin/ghc中添加32位编译的标志在一台机器上修复它(类似于-optl -m32 -opta -m32 -optc -m32,从这里收集).现在我不能让它为我的另一台支持64位的机器生成64位二进制文​​件.32位标志中断,删除它们也会中断.有小费吗?

当我尝试编译时,我得到这样的东西:

/var/folders/az/az3Ef9shFZq6RajmTEBwu++++TI/-Tmp-//ghc8006_0/ghc8006_0.s:212:0:
32-bit absolute addressing is not supported for x86-64

/var/folders/az/az3Ef9shFZq6RajmTEBwu++++TI/-Tmp-//ghc8006_0/ghc8006_0.s:212:0:
cannot do signed 4 byte relocation

/var/folders/az/az3Ef9shFZq6RajmTEBwu++++TI/-Tmp-//ghc8006_0/ghc8006_0.s:215:0:
32-bit absolute addressing is not supported for x86-64

/var/folders/az/az3Ef9shFZq6RajmTEBwu++++TI/-Tmp-//ghc8006_0/ghc8006_0.s:215:0:
cannot do signed 4 byte relocation
Run Code Online (Sandbox Code Playgroud)

谢谢!

64-bit haskell ghc osx-snow-leopard haskell-platform

7
推荐指数
1
解决办法
1015
查看次数

如何创建一个合适的.tar.gz文件以用于`cabal upload`?

与其他程序员共享Haskell库的标准方法是创建一个Cabal包并将其上传到http://hackage.haskell.org.我写了一个我想分享的图书馆,我已经成功创建了一个Cabal软件包,使用在线指南来创建cabal文件.我已经构建了包并在本地安装 - 工作正常.现在我想将它上传到Hackage.但是cabal upload想要一个.tar.gz文件.有大量的Cabal文档,我找不到应该进入这个.tar.gz或者我应该如何创建它.

谁知道,或者知道我在哪里可以找到,如何创建一个能够正常工作的.tar.gz cabal upload

haskell cabal hackage haskell-platform

7
推荐指数
1
解决办法
633
查看次数

Cabal使用enable-shared标志重建所有内容

我在使用ghc构建共享库时遇到问题,我认为我需要使用--enable-shared重建我的haskell软件包,是否有一种简单的方法可以使用标志重新构建我的所有软件包--enable-shared ?

haskell ghc cabal haskell-platform

7
推荐指数
1
解决办法
2700
查看次数

如何在Haskell平台中禁用OpenGL?

我在共享的Linux服务器上,我无法安装软件.从源代码安装OpenGL似乎是一个很大的痛苦(我发现Mesa依赖于libxml2后停止了),而且我没有在任何Haskell程序中使用它.

如何在Haskell平台中禁用OpenGL?我周围的配置检查了通过删除这些,但是当我添加--disable-OpenGLRaw--without-OpenGLRaw./configure选项,它说:"无法识别的选项",实际上并没有禁用的软件包.

此外,我尝试使用cabal-install bootstrap,但由于某些原因cabal-install 0.14.0不适用于GHC 7.6.3.

非常感谢你!!

haskell cabal haskell-platform

7
推荐指数
2
解决办法
456
查看次数

元组和Record之间的自动转换

haskell中的记录或简单ADT几乎等同于盒装元组.有没有办法(理想情况下是一些花哨的扩展或来自haksell平台的lib)允许在这种类型和元组之间进行转换?

我(相当)是haskell的新手,我正在尝试在Haskell中构建一些报告工具.这涉及读/写csv文件和数据库表.使用元组的事情非常简单,但在使用普通类时需要一些锅炉板.样板接缝几乎完全相同,但我没有找到一个很好的方法只做一次,除了可能做转换(数据< - >元组)并使用从元组到CSV /表的本机转换.

更新

到目前为止我得到的所有答案都假定我需要一些完全通用的东西,我想要元组.我不想要元组,我元组,我不想要它们,因此需要转换它们.实际上我只想减少锅炉板(到0 :-)),但我不需要为每种类型都使用相同的功能.

例如,我可以通过展开其构造函数轻松地将元组转换为任何元素.问题是我需要uncurryN,我在任何地方都找不到(除了模板haskell教程).反过来更难做到.

我不是要求一个解决方案(尽管我得到的所有答案都很棒,因为我不熟悉Haskell中不同的元编程方式)但更多,因为我不喜欢重新发明轮子,如果轮子已经存在(例如,这个不连续的,可以用手写到20并包装在漂亮的包装中)

Updated2

显然存在一个不成熟的包,但它仍然解决了一半的问题.

haskell haskell-platform

7
推荐指数
1
解决办法
1036
查看次数

如何卸载旧版本的GHC?

我在我的mac上安装了Haskell平台7.10.3,当它完成时它说它已检测到旧版本的GHC并卸载它们,但我该怎么做?

我正在使用OS X 10.11.3的macbook air.

haskell uninstall ghc haskell-platform osx-elcapitan

7
推荐指数
1
解决办法
3616
查看次数

如何在我安装cabal之后启动Yi-editor?

我跟着HaskellWiki,但我仍然不知道如何启动它.
我试过了:

yi
ghci yi
import Yi
main
Run Code Online (Sandbox Code Playgroud)

haskell cabal haskell-platform

6
推荐指数
1
解决办法
644
查看次数