Articles of cabal

Network-2.4.2.2在Windows上安装错误

当试图在cabal沙盒(1.18。*)内的Windows Server 2008上安装networking软件包(cabal安装networking)时,出现以下错误: C:\Users\user\Project>cabal install network –prefix=C:\Users\user\Project Resolving dependencies… Configuring network-2.4.2.2… configure: error: invalid package name: 0 Failed to install network-2.4.2.2 cabal: Error: some packages failed to install: network-2.4.2.2 failed during the configure step. The exception was: ExitFailure 1 需要注意的是,networking是通过haskell平台全局安装的,但是由于一个奇怪的原因,不会安装在沙盒中。 确切的错误看起来像configure: error: invalid package name: 0 什么可以提示包名是0?

无法在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 […]

Haskell平台上带有Cabal的Windows上的便携式软件包安装

我安装了Windows XP和Haskell Platform 2013。 当我想在一些没有安装Haskell Platform的计算机上编译我的代码时,我不允许安装任何东西,我可以将我的Haskell平台复制到USB闪存卡上,然后在这台计算机上运行,精细。 但是有时我需要额外的包,而不是标准的Haskell Platform构build的一部分。 我可以简单地将它安装在我的个人电脑与Cabal,但我不知道,如何安装他们的方式,他们可以工作便携式,即从我的USB闪存卡不在我的电脑上。 我试过这个: cabal install gnuplot –prefix "C:\Program Files\Haskell Platform\2013.2.0.0" 这个安装到Haskell平台目录,但是当我在另一台计算机上运行Haskell平台,它不会看到它。 我想,我应该使configuration文件被安装在Haskell平台目录,但我不怎么做。 请帮我解决这个问题。 先谢谢你! 非常感谢Mikhail Glushenkov! 现在一切正常。 为了方便像我这样的新手寻找答案,我只是描述指令,做什么,得到相同的结果: 0)在做任何事之前阅读说明/ 1)卸载所有额外的软件包,需要安装的可移植(具有依赖性):取消注册这个软件包 ghc-pkg unregister gnuplot ,然后从它存储的地方删除包文件。 同时删除“package.conf.d”文件夹中的所有相关文件。 要search它们,请使用 ghc-pkg list 。 2)运行(也许这是不必要的) ghc-pkg recache 。 3)将软件包安装在haskell平台所需的目录中。 我在“C:\ Program Files \ Haskell Platform \ 2013.2.0.0 \ addlib”中做了这个: cabal install gnuplot –prefix […]

在Windows上安装Haskell,cabalconfiguration

我正在Windows上安装Haskell,根据https://www.haskell.org/platform/上的说明,看第3步,它说,修改你的cabalconfiguration文件(你可以通过运行“cabal user- config init“)包含以下行: extra-prog-path: C:\Program Files\Haskell Platform\8.0.2\msys\usr\bin extra-lib-dirs: C:\Program Files\Haskell Platform\8.0.2\mingw\lib extra-include-dirs: C:\Program Files\Haskell Platform\8.0.2\mingw\include 但是自动生成的configuration文件包含例如 extra-prog-path: C:\Users\w\AppData\Roaming\cabal\bin 所以对于一个build议的variables来说这是一个不同的值。 这是故意的吗? 我应该怎么做,粘贴文件开始的第3步的行,文件的结尾,覆盖现有的行或者跳过第3步?

如何在.cabal中指定对外部C库的依赖?

我使用Hackage上的FFI绑定来维护一个库。 所以我的Haskell库依赖于相应的C库及其头文件。 现在我在.cabal文件中指定外部依赖关系,如下所示: PkgConfig-Depends: libfoo >= 1.2 在Linux中它对我来说很好。 不过,我有一个图书馆的用户报告说,在Windows上安装pkg-config相当麻烦,而不是他更喜欢 Includes: foo.h Extra-libraries: foo 我希望我的库尽可能容易构build,并且不想强制不严格要求的构build依赖关系。 但是,我看到Cabal手册build议使用PkgConfig-Depends 。 我的问题: 我应该select哪一种跨平台软件包? 是否有可能写一个.cabal文件的方式,它可以使用pkg-config和没有? 顺便说一下,Haskell平台中包含pkg-config (我没有Windows机器来检查)?

如何改变cabalconfiguration文件的path?

我在Win7上使用HaskellPlatform-2012.4.0.0。 它被安装为便携式。 path通过.bat文件pipe理,所以ghci和ghc作品。 但是cabal自己安装在C:\ Users \ name \ AppData \ Roaming \ cabal \ 为了规避我所做的: cabal update edit config file delete all files except config 更改的path: remote-repo-cache: d:\h1\cabal\packages world-file: d:\h1\cabal\world build-summary: d:\h1\cabal\logs\build.log 它的工作,但它远没有真正的便携式。 Cabalconfiguration是更大的问题。 它似乎必须留在C:\ Users \ name \ AppData \ Roaming \ cabal中,根本不是可移植的。 首次运行cabal update说Config file path source is default config file. 问题: 1.默认的configuration文件在哪里? […]