gpt4 book ai didi

haskell - 没有可用版本的 ghc-prim -any 与 GHC 7.2.2

转载 作者:行者123 更新时间:2023-12-04 06:02:53 27 4
gpt4 key购买 nike

我在 $HOME 中安装了 ghc-7.2.2 unknown linux tar.bz2在archlinux上。

在使用 cabal-dev 成功安装多个软件包后,尝试安装例如。我得到的解析数字、文本、广告等:

cabal: cannot configure base-4.4.1.0 It requires ghc-prim -any
integer-simple and rts -any
There is no available version (of each of the above for example)

这是我安装中的明显错误还是可能的错误?

我有合适的 $GHC_PACKAGES_PATH设置并运行 ghc-pkg recache。

这是我安装的软件包列表:
/home/jim/cabal-dev/packages-7.2.2.conf:
QuickCheck-2.4.2
bmp-1.1.2.1
comonad-1.1.1.1
comonad-transformers-2.0.2
comonads-fd-2.0.2
contravariant-0.1.3
data-lens-2.0.2
data-reify-0.6
distributive-0.2.0.1
free-2.0.2
mtl-2.0.1.0
primitive-0.4.0.1
random-1.0.1.1
repa-2.2.0.1
repa-algorithms-2.2.0.1
repa-bytestring-2.2.0.1
repa-io-2.2.0.1
semigroupoids-1.2.6
semigroups-0.8
transformers-0.2.2.0
vector-0.9.1

/home/jim/lib/ghc-7.2.2/package.conf.d:
Cabal-1.12.0
array-0.3.0.3
base-4.4.1.0
bin-package-db-0.0.0.0
(binary-0.5.0.2)
bytestring-0.9.2.0
containers-0.4.1.0
directory-1.1.0.1
extensible-exceptions-0.1.1.3
ffi-1.0
filepath-1.2.0.1
(ghc-7.2.2)
ghc-prim-0.2.0.0
(haskell2010-1.1.0.0)
(haskell98-2.0.0.0)
hoopl-3.8.7.1
hpc-0.5.1.0
integer-gmp-0.3.0.0
old-locale-1.0.0.3
old-time-1.0.0.7
pretty-1.1.0.0
process-1.1.0.0
rts-1.0
template-haskell-2.6.0.0
time-1.2.0.5
unix-2.5.0.0

是的,bytestring-0.9.0.2 应该是 -0.9.2.0,抱歉。
cabal-dev -v3 install bytestring --reinstall produces:

cabal-dev 0.9
built with Cabal 1.12.0
searching for cabal in path.
found cabal at /usr/bin/cabal
("/usr/bin/cabal",["--numeric-version"])
/usr/bin/cabal is version 0.10.2
Using cabal-install 0.10.2 at FoundOnSystem {locationPath = "/usr/bin/cabal"}
No sandbox specified. Using cabal-dev
Using cabal-dev as the relative cabal-dev sandbox
Using /home/jim/cabal-dev as the cabal-dev sandbox
Creating local repo /home/jim/cabal-dev/packages
searching for ghc-pkg in path.
found ghc-pkg at /home/jim/bin/ghc-pkg
("/home/jim/bin/ghc-pkg",["--version"])
/home/jim/bin/ghc-pkg is version 7.2.2
Using ghc-pkg 7.2.2
("/usr/bin/cabal",["--version"])
Complete arguments to cabal-install:
["--config-file=/home/jim/cabal-dev/cabal.config","install","--verbose=3","--reinstall"]
("/usr/bin/cabal",["--config-file=/home/jim/cabal-dev/cabal.config","install","--verbose=3","--reinstall","bytestring"])
searching for ghc in path.
found ghc at /home/jim/bin/ghc
("/home/jim/bin/ghc",["--numeric-version"])
/home/jim/bin/ghc is version 7.2.2
looking for tool "ghc-pkg" near compiler in /home/jim/bin
found ghc-pkg in /home/jim/bin/ghc-pkg
("/home/jim/bin/ghc-pkg",["--version"])
/home/jim/bin/ghc-pkg is version 7.2.2
("/home/jim/bin/ghc",["--supported-languages"])
("/home/jim/bin/ghc",["--info"])
Reading installed packages...
("/home/jim/bin/ghc-pkg",["dump","--global","-v2"])
("/home/jim/bin/ghc-pkg",["dump","--package-conf=/home/jim/cabal-dev/packages-7.2.2.conf","-v2"])
("/home/jim/bin/ghc",["--print-libdir"])
Reading available packages...
Resolving dependencies...
selecting
/usr/bin/cabal returned ExitFailure 1

哈哈。尝试使用 &2>file 捕获输出会错过“cabal:无法配置 bytestring-0.9.2.0。它需要 ghc-prim -any...(与以前相同)”

最佳答案

那个消息,

cabal: cannot configure base-4.4.1.0



意味着 cabal 正在尝试重新安装 base,或者更确切地说,幸运的是它并没有真正尝试这样做(这是不可能的,base 与编译器交织​​得太紧密,你绝对不能重新安装它)。但是您正在尝试安装需要重新安装基础的东西。

问题是您尝试安装的一个(或多个)软件包依赖于 integer-simple . base取决于 integer-gmpinteger-simple .这两个包都提供了 Integer 的实现。 type 和一些涉及它的基本操作,所以你只能拥有这两个中的一个。默认为 integer-gmp因为它的性能要好得多,而且你已经安装了它(所有[?] 预构建的二进制文件都是用它构建的)。

如果你真的需要包依赖 integer-simple ,您必须自己从源代码构建 GHC(我建议在构建后保留带有 integer-gmp 的 GHC,但您必须将它们保存在不同的位置,但是,如果它们是相同的 GHC 版本,例如在~/bin(和 ~/lib),另一个在 ~/simple/$dir 中)。

从源代码构建它并不困难,但确实需要一段时间。程序是
  • 下载源 tarball 并解压
  • 在编辑器中打开 mk/config.mk.in,在那里将 INTEGER_LIBRARY 更改为 integer-simple 并保存
  • $ cd ghc-7.2.2
  • $ ./configure --prefix=$HOME/whereever/you/want/it
  • $ make && make install
  • 关于haskell - 没有可用版本的 ghc-prim -any 与 GHC 7.2.2,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8730884/

    27 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com