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
我的堆栈项目构建挂在 windows 与 Cabal 相关的步骤。
查看下面的输出
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
打断
我尝试关注 Haskell 每周 Comonadic builders by Dmitrii Kovanikov 并且我已经开始创建一个新项目
stack new Comonad
cd Comonad
然后我将 code sample 粘贴到 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 需要 长 时间来编译,它可能只是在处理所有模块。
我的堆栈项目构建挂在 windows 与 Cabal 相关的步骤。
查看下面的输出
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
打断我尝试关注 Haskell 每周 Comonadic builders by Dmitrii Kovanikov 并且我已经开始创建一个新项目
stack new Comonad
cd Comonad
然后我将 code sample 粘贴到 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 需要 长 时间来编译,它可能只是在处理所有模块。