Articles of ghc

GHC ::链接agains sqlite3在Windows上失败

我创build了一个简单的应用程序,它使用sqlite3作为数据存储的后端。 在Linux上构build和运行时,我没有遇到任何问题,但在尝试在Windows上构build它之后,我发现了一个奇怪的链接错误: Linking dist\build\hnotes\hnotes.exe … C:\Documents and Settings\Admin\Application Data\cabal\sqlite-0.5.2.2\ghc-7.0.4/libHSsqlite-0.5.2.2. a(sqlite3-local.o):sqlite3-local.c:(.text+0x21): undefined reference to `sqlite3_temp_directory' C:\Documents and Settings\Admin\Application Data\cabal\sqlite-0.5.2.2\ghc-7.0.4/libHSsqlite-0.5.2.2. a(sqlite3-local.o):sqlite3-local.c:(.text+0x40): undefined reference to `sqlite3_temp_directory' collect2: v ld 1 cabal.EXE: Error: some packages failed to install: hnotes-0.1 failed during the building phase. The exception was: ExitFailure 1 有什么可能是错的? 我怀疑,qalite3.dll必须添加到链接阶段,但不知道如何做到这一点。 添加–extra-lib-dirs = path-to-sqlite-dll也没有帮助(也许是因为我需要以某种方式更新我的cabal文件,以支持这一点?)。

如何在Linux上安装Haskell Debian Wheezy?

最初我以为我会用apt-get来安装Haskell,但它似乎有些复杂。 当我看着haskell组织下载页面时 ,我下载了haskell-platform-2013.2.0.0.tar.gz 。 然后下一步是混淆。 它要求在安装平台之前安装GHC ,但同时打开GHC下载页面,会显示一些警告,例如Stop ! ….. we recommend installing the Haskell Platform instead of GHC Stop ! ….. we recommend installing the Haskell Platform instead of GHC 。 请指导我如何在Debian Wheezy上安装Haskell。 我们可以从这个包中构build一个.deb安装包吗?

Haskell ghc编译/链接错误,不创build可执行文件。 (Linux)的

我用haskel编写了一个基本的hello世界程序,并试着用ghc filename.hs来编译它。 它生成.hi和.o文件,但没有可执行文件,并在链接器中显示此错误: marox @ IT-marox:〜/ Marox $ ghc tupel.hs 链接tupel … / usr / bin / ld:–hash-size = 31:未知选项 / usr / bin / ld:使用–help选项来获取使用信息 collect2:ld返回1退出状态 谷歌search没有返回任何有用的信息。 我在Ubuntu的12.04。 我怎样才能解决这个问题?

在Linux上安装ghc二进制文件(找不到libgmp.so)

我想第一次在Linux上安装Haskell平台(我也是一个相当新的Linux用户)。 受害者系统是一个新的红帽系统。 而这里涉及的所有内容都应该是64位。 在平台网站[1]的指示表明,我需要一个ghc7.0.3来推动东西。 他们提供了一个到ghc-7.0.3的通用二进制文件的链接来做到这一点。 我抓住这个跑了 $ ./configure … $ make install … 根据方向没有事件(这是一个二进制,所以不需要编译)但是,当我试图运行ghci我得到的输出。 $ ghci GHCi, version 7.0.3: http://www.haskell.org/ghc/ 😕 for help Loading package ghc-prim … linking … done. Loading package integer-gmp … <command line>: can't load .so/.DLL for: gmp (libgmp.so: cannot open shared object file: No such file or directory) 出于某种原因,ghci找不到libgmp.so。 运行ghci最终调用 /usr/local/lib/ghc-7.0.3/ghc […]

Haskell:立即从控制台读取input字符,而不是在换行符之后

我试过这个: main = do hSetBuffering stdin NoBuffering c <- getChar 但是等到input被按下,这不是我想要的。 我想在用户按下后立即读取字符。 我在Windows 7上使用ghc v6.12.1。 编辑:我的解决方法是从GHC移动到WinHugs,正确支持这一点。

我如何将GHCi提示符设置为Windows上的lambda字符?

我想在Windows 7的GHCi(7.8)中有一个lambda(λ)符号作为我的提示符,所以我将.ghci文件设置为 :set +m :set prompt "λ: " :set prompt2 " | " 我把我的控制台字体设置为Lucida控制台,因为它应该支持Unicode,但是当我加载GHCi时,它看起来像这样 我如何让Windows正确识别λ符号?

如何杀死Haskell中的一个线程

使用Control.Concurrent和forkIO有一些情况会导致线程处于阻塞状态(这在networking连接的windows下尤其频繁),所以即使尝试使用killThread,也不会在线程中引发exception。 有没有其他的方式来强制线程死亡? 我试图用helper线程退出整个应用程序,在这些情况下没有任何效果。 Glorious Glasgow Haskell编译系统,版本6.12.1 HP 2010.1.0.0 编辑:要清除的东西了,我不想终止应用程序,我宁愿杀死已经被阻止了很长一段时间的线程。 然而,即使在这里,也有很多例子,在辅助线程中使用exitWith的完整代码,并且这种scheme在我所拥有的条件下不起作用。

无法在Windows上findcabal来查找haskell-mpi的mpi库

问题解决了! 按照Dons贴在这里的指示 打开你的环境variables(我的电脑 – >属性(在上下文菜单中) – >高级) 添加或创build一个新的环境variablesC_INCLUDE_PATH ,使其指向MPI的包含目录。 在我的情况下, /c/program files/mpich2/include 。 添加或创build一个新的环境variablesLIBRARY_PATH ,使其指向MPI的lib目录。 在我的情况下, /c/program files/mpich2/lib 以某种方式隐藏libmpi.a。 如果需要的话,可以稍后解决。 这是一个黑客,但你不能build立haskell-mpi,因为ld会失败。 我将它重命名为_libmpi.a 现在haskell-mpi应该在windows上构build。 预计更多的麻烦,但它build立,它解决了我的问题。 我想在我的大学实验室的一台实验室机器上使用haskell-mpi来为我的并行计算课程做最后的项目,但是我试图让haskell-mpi与MPICH2build立起来。 haskell-mpi几乎完全没有logging,通过他们的git仓库进行挖掘帮助我编写了一些示例程序,但没有做任何事情来帮助我在Windows上进行设置。 在我的个人linux系统上,我没有麻烦设置并运行针对MPICH2的haskell-mpi。 问题可能出在cabal上,MPICH2的安装方式,或haskell-mpi的cabalconfiguration,因此select标签。 为了排除故障,我愿意在这里进行实验,并根据需要添加更多信息,但最终我将无法再访问这些机器。 我在实验室中拥有pipe理员权限,因此如果问题出在MPICH2安装本身上,我确实可以重新安装它。 当我尝试安装haskell-mpi时,cabal失败如下: Resolving dependencies… Configuring haskell-mpi-1.0.0… cabal: Missing dependency on a foreign library: * Missing C library: mpi This problem can usually be solved by installing […]