如何针对stackage测试新的ghc构建

时间:2016-02-10 19:01:13

标签: ghc stackage

我已经构建了ghc-HEAD,我想尝试构建所有的堆栈或每晚,看看它能做多少。

我说的任何内容都不能说服堆栈使用我的新ghc构建任何东西。我尝试设置如下:

stack setup 8.1.20160209 --ghc-variant=aarch64-HEAD --ghc-bindist=https://s3-us-west-1.amazonaws.com/stack-aarch64/ghc-8.1.20160209-aarch64-unknown-linux.tar.xz

然后我下载了一个lts config.cabal并将所有软件包复制到my.cabal文件中。这就是使用常规ghc构建所有内容所需的全部内容。我说

stack install --ghc-variant=aarch64-HEAD

它告诉我它不知道这些包中的任何一个。尝试堆栈求解器。所以我试试了,经过很长时间后它也放弃了。

接下来我尝试创建一个自定义快照,再次将所有包放在snapshot.yaml中并指向stack.yaml。在stack.yaml中:

resolver:
  name: my-snapshot
  location: "./my-snapshot.yaml"
...

在my-snapshot.yaml:

compiler: ghc-8.1.20160209

packages:
  - accelerate-0.15.1.0
  - ace-0.6
...

这也不起作用。所以我尝试与stack.yaml协商

   skip-ghc-check: true
    compiler: ghc-8.1.20160209

    ghc-variant: aarch64-HEAD

    setup-info:
      ghc:
        aarch64-HEAD:
          8.1.20160209:
            url: "https://s3-us-west-1.amazonaws.com/stack-aarch64/ghc-8.1.20160209-aarch64-unknown-linux.tar.xz"

    install-ghc: true
    allow-newer: true

现在stack install说:

The following package identifiers were not found in your indices: bin-package-db-0.0.0.0

1 个答案:

答案 0 :(得分:1)

  

所以我试试了,经过很长时间后它也放弃了。

你是什么意思"放弃"?什么是输出?

  

这不起作用

你是什么意思"没有工作"?什么是输出?

  

堆栈安装--ghc-variant = aarch64-HEAD

你在堆什么安装?您需要指定一个解析器,在这种情况下,编译器版本 - 仅指定--ghc-variant是不够的。你需要像stack install --allow-newer --ghc-variant=aarch64-HEAD --compiler ghc-8.1.20160209这样的东西。不幸的是,目前可能因https://github.com/commercialhaskell/stack/issues/1579

而无法工作

自定义快照是解决此问题的一种方法,但您需要列出所需每个软件包的确切版本。

我不确定bin-package-db错误来自何处,抱歉