繁体   English   中英

Windows上的堆栈构建挂在GHC-8.6.4 / Cabal-2.4.1.0上

[英]Stack build hangs on GHC-8.6.4/Cabal-2.4.1.0 on Windows

我的堆栈项目构建在与Cabal有关的步骤中挂在Windows上。

见下面的输出

C:\haskell\hrt\Comonad>stack ghc -- --version
The Glorious Glasgow Haskell Compilation System, version 8.6.4

C:\haskell\hrt\Comonad>stack build
←[0mCabal-2.4.1.0: configure←[0m
←[0mCabal-2.4.1.0: build←[0m
Progress 0/5

我必须用Ctrl + C中断

我一直在尝试追踪Dmitrii Kovanikov撰写的Haskell Weekly Comonadic建筑商,并从创建一个新项目开始

stack new Comonad
cd Comonad

然后将代码示例粘贴到Main中

{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE RecordWildCards   #-}

module Main where

import Control.Comonad (Comonad (..), (=>>))
import Data.Semigroup (Any (..))
import Data.Text (Text)
import Text.Pretty.Simple (pPrint)

import Lib
-- see the gist above for the rest of the code
alwaysTravisB :: ProjectBuilder -> Project
alwaysTravisB builder = builder $ mempty { settingsTravis = Any True }

travisB :: ProjectBuilder -> Project
travisB builder =
  let project = extract builder
  in project { projectTravis = projectGitHub project }



main :: IO ()
main = do
    -- plain
    pPrint $ extract $ buildProject "minimal-project"
    pPrint $ extract $ buildProject "only-library" =>> hasLibraryB
    pPrint $ extract $ buildProject "library-github" =>> hasLibraryB =>> gitHubB

    -- dependent: 1 level
    pPrint $ extract $ buildProject "travis" =>> travisB
    pPrint $ extract $ buildProject "always-travis" =>> alwaysTravisB
    pPrint $ extract $ buildProject "github-travis" =>> gitHubB =>> travisB
    pPrint $ extract $ buildProject "travis-github" =>> travisB =>> gitHubB
    someFunc

并且我在package.yaml中指定了依赖项

dependencies:
- base >= 4.12.0.0
- comonad >= 5.0
- pretty-simple >= 2.2
- text

library:
  source-dirs: src

executables:
  Comonad-exe:
    main:                Main.hs
    source-dirs:         app
    ghc-options:
    - -threaded
    - -rtsopts
    - -with-rtsopts=-N
    dependencies:
    - Comonad

我可以看到ghc.exe在一个临时文件夹( C:\\Users\\MyHome\\AppData\\Local\\Temp\\stacknnnn )上运行,并使cpu处于繁忙状态,我也想知道这是否是内存泄漏(1.7GB的工作空间)组)...

在此处输入图片说明

stack build --verbose
-- ... ...
←[90m2019-04-07 11:35:28.096702: ←[32m[debug] ←[0mEncoding C:\Users\MyHome\AppData\Local\Temp\stack6060\Cabal-2.4.1.0\.s
tack-work\dist\e626a42b\stack-config-cache←[90m
@(src/Stack\Build\Cache.hs:164:7)←[0m
←[90m2019-04-07 11:35:28.098702: ←[32m[debug] ←[0mFinished writing C:\Users\MyHome\AppData\Local\Temp\stack6060\Cabal-2.
4.1.0\.stack-work\dist\e626a42b\stack-config-cache←[90m
@(src/Stack\Build\Cache.hs:164:7)←[0m
←[90m2019-04-07 11:35:28.099702: ←[32m[debug] ←[0mEncoding C:\Users\MyHome\AppData\Local\Temp\stack6060\Cabal-2.4.1.0\.s
tack-work\dist\e626a42b\stack-cabal-mod←[90m
@(src/Stack\Build\Cache.hs:173:7)←[0m
←[90m2019-04-07 11:35:28.320715: ←[32m[debug] ←[0mFinished writing C:\Users\MyHome\AppData\Local\Temp\stack6060\Cabal-2.
4.1.0\.stack-work\dist\e626a42b\stack-cabal-mod←[90m
@(src/Stack\Build\Cache.hs:173:7)←[0m
←[90m2019-04-07 11:35:28.320715: ←[34m[info] ←[0mCabal-2.4.1.0: build←[90m
@(src/Stack\Build\Execute.hs:873:23)←[0m
←[90m2019-04-07 11:35:28.322715: ←[32m[debug] ←[0mRun process within C:\Users\MyHome\AppData\Local\Temp\stack6060\Cabal-
2.4.1.0\: C:\sr\setup-exe-cache\x86_64-windows\Cabal-simple_Z6RU0evB_2.4.0.1_ghc-8.6.4.exe --builddir=.stack-work\dist\e
626a42b build --ghc-options " -ddump-hi -ddump-to-file -fdiagnostics-color=always"←[90m
@(src/Stack\Build\Execute.hs:1133:29)←[0m
Progress 0/5
-- hangs here

尝试使用--interleaved-output重新运行,它将显示GHC正在编译的每个模块的输出(您可能需要先通过stack upgrade升级Stack)。 Cabal需要长时间才能编译,可能只是在所有模块中工作。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM