我如何才能针对堆叠测试新的ghc版本 [英] How can I test a new ghc build against stackage

查看:81
本文介绍了我如何才能针对堆叠测试新的ghc版本的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我已经构建了ghc-HEAD,我想尝试构建所有的lts或每晚查看它能做什么.

I've built ghc-HEAD and I want to try building all of a stackage lts or nightly to see how much it can do.

我说的什么都不能说服堆栈使用我的新ghc构建任何东西.我尝试像这样设置:

Nothing I say can convince stack to build anything using my new ghc. I try setting up like:

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构建所有内容所必需的.我说

And then I download an lts config.cabal and copy all of the packages into my.cabal file. This is all that's necessary to build everything with a regular ghc. I say

stack install --ghc-variant=aarch64-HEAD

它告诉我它不知道这些软件包在哪里.尝试堆栈求解器.所以我尝试了一下,很久以后就放弃了.

And it tells me it has no idea where any of these packages are. Try stack solver. So I try that and it gives up after a long time too.

接下来,我尝试制作一个自定义快照,再次将所有软件包都放在snapshot.yaml中,然后将stack.yaml指向它.在stack.yaml中:

Next I try to make a custom snapshot, again just putting all the packages in a snapshot.yaml and pointing stack.yaml at it. In stack.yaml:

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

在my-snapshot.yaml中:

In my-snapshot.yaml:

compiler: ghc-8.1.20160209

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

那也不行.所以我尝试与stack.yaml进行谈判

That doesn't work either. So I try negotiating with 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

推荐答案

所以我尝试了一下,很长一段时间后它也放弃了.

So I try that and it gives up after a long time too.

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

What do you mean by "gives up"? What's the output?

那也不行

不起作用"是什么意思?输出是什么?

What do you mean by "doesn't work"? What's the output?

stack install --ghc-variant = aarch64-HEAD

stack install --ghc-variant=aarch64-HEAD

您要堆叠安装什么?您需要指定一个解析器,在这种情况下,需要指定一个编译器版本-仅指定--ghc-variant是不够的.您需要类似stack install --allow-newer --ghc-variant=aarch64-HEAD --compiler ghc-8.1.20160209的内容.不幸的是,由于 https://github.com/commercialhaskell/,目前可能无法正常工作堆栈/问题/1579

What are you stack installing? You need to specify a resolver, and in this case, a compiler version - specifying just --ghc-variant is not enough. You need something like stack install --allow-newer --ghc-variant=aarch64-HEAD --compiler ghc-8.1.20160209. Unfortunately, at the moment that probably won't work due to https://github.com/commercialhaskell/stack/issues/1579

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

Custom snapshots is one way to go about this, but you will need to list the exact version of every package you want.

我不确定bin-package-db错误的来源,对不起

I'm not sure where that bin-package-db error comes from, sorry

这篇关于我如何才能针对堆叠测试新的ghc版本的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆