0

我正在尝试在一个干净的(新)VPS 服务器上堆叠构建一个新的基于 Yesod 的项目,该服务器在 Ubuntu Trusty x86_64 上运行。

如果它对问题很重要,这里是内存信息:

me@user:~/proj-web01$ free -h
            total       used       free     shared    buffers     cached
Mem:        1.0G         46M        977M     8.8M      0B          11M
-/+ buffers/cache:       35M        988M
Swap:          0B         0B          0B

这是堆栈项目的 cabal 文件的一部分:

library
  hs-source-dirs:      src
  exposed-modules:     Lib
  build-depends:       base >= 4.7 && < 5
  default-language:    Haskell2010

executable proj-web01-exe
  hs-source-dirs:      app
  main-is:             Main.hs
  ghc-options:         -threaded -rtsopts -with-rtsopts=-N
  build-depends:       base, yesod
                     , proj-web01
  default-language:    Haskell2010

除了 yesod 之外,依赖项中还有其他包,当我stack build没有在依赖项中添加 yesod 时,各种包正常下载并且一切看起来都很好 - 当然构建无法完成,因为还需要 yesod。

但是,当我添加 yesod 依赖项列表时,我收到一条Progress: 0/96Killed错误消息。依赖项列表中是否存在其他包似乎并不重要。这是一个转储stack build --verbose

me@user:~/proj-web01$ stack build --verbose

Version 1.0.0, Git revision 3bc26237b5b3c387b8fd564459ea4dd88fd58b30 (2939 commits) x86_64
2016-01-10 04:30:53.022676: [debug] Checking for project config at: /home/me/proj-web01/stack.yaml @(stack_Jo7PUTL0uTIFJF98jKr0KI:Stack.Config src/Stack/Config.hs:577:9)
2016-01-10 04:30:53.023099: [debug] Loading project config file stack.yaml @(stack_Jo7PUTL0uTIFJF98jKr0KI:Stack.Config src/Stack/Config.hs:600:13)
2016-01-10 04:30:53.024852: [debug] Run process: ldd /usr/bin/stack @(stack_Jo7PUTL0uTIFJF98jKr0KI:System.Process.Read src/System/Process/Read.hs:267:3)
2016-01-10 04:30:53.037163: [debug] Trying to decode /home/me/.stack/build-plan-cache/x86_64-linux/lts-4.0.cache @(stack_Jo7PUTL0uTIFJF98jKr0KI:Data.Binary.VersionTagged src/Data/Binary/VersionTagged.hs:55:5)
2016-01-10 04:30:53.057650: [debug] Success decoding /home/me/.stack/build-plan-cache/x86_64-linux/lts-4.0.cache @(stack_Jo7PUTL0uTIFJF98jKr0KI:Data.Binary.VersionTagged src/Data/Binary/VersionTagged.hs:64:13)
2016-01-10 04:30:53.057869: [debug] Trying to decode /home/me/.stack/indices/Hackage/00-index.cache @(stack_Jo7PUTL0uTIFJF98jKr0KI:Data.Binary.VersionTagged src/Data/Binary/VersionTagged.hs:55:5)
2016-01-10 04:30:53.407750: [debug] Success decoding /home/me/.stack/indices/Hackage/00-index.cache @(stack_Jo7PUTL0uTIFJF98jKr0KI:Data.Binary.VersionTagged src/Data/Binary/VersionTagged.hs:64:13)
2016-01-10 04:30:53.440540: [debug] Run process: ghc --numeric-version @(stack_Jo7PUTL0uTIFJF98jKr0KI:System.Process.Read src/System/Process/Read.hs:267:3)
2016-01-10 04:30:53.498901: [debug] Run process: ghc-pkg --no-user-package-db field --simple-output Cabal version @(stack_Jo7PUTL0uTIFJF98jKr0KI:System.Process.Read src/System/Process/Read.hs:267:3)
2016-01-10 04:30:53.536509: [debug] Run process: ghc-pkg --no-user-package-db list --global @(stack_Jo7PUTL0uTIFJF98jKr0KI:System.Process.Read src/System/Process/Read.hs:267:3)
2016-01-10 04:30:53.567473: [debug] Checking resolver: lts-4.0 @(stack_Jo7PUTL0uTIFJF98jKr0KI:Stack.Build.Source src/Stack/Build/Source.hs:164:17)
2016-01-10 04:30:53.567752: [debug] Trying to decode /home/me/.stack/build-plan-cache/x86_64-linux/lts-4.0.cache @(stack_Jo7PUTL0uTIFJF98jKr0KI:Data.Binary.VersionTagged src/Data/Binary/VersionTagged.hs:55:5)
2016-01-10 04:30:53.584895: [debug] Success decoding /home/me/.stack/build-plan-cache/x86_64-linux/lts-4.0.cache @(stack_Jo7PUTL0uTIFJF98jKr0KI:Data.Binary.VersionTagged src/Data/Binary/VersionTagged.hs:64:13)
2016-01-10 04:30:53.597807: [debug] Run process: ghc-pkg --global --no-user-package-db dump --expand-pkgroot @(stack_Jo7PUTL0uTIFJF98jKr0KI:System.Process.Read src/System/Process/Read.hs:267:3)
2016-01-10 04:30:53.667493: [debug] Ignoring package haskeline due to wanting version 0.7.2.2 instead of 0.7.2.1 @(stack_Jo7PUTL0uTIFJF98jKr0KI:Stack.Build.Installed src/Stack/Build/Installed.hs:189:5)
2016-01-10 04:30:53.668492: [debug] Ignoring package terminfo due to wanting version 0.4.0.2 instead of 0.4.0.1 @(stack_Jo7PUTL0uTIFJF98jKr0KI:Stack.Build.Installed src/Stack/Build/Installed.hs:189:5)
2016-01-10 04:30:53.668681: [debug] Ignoring package Cabal due to wanting version 1.22.6.0 instead of 1.22.5.0 @(stack_Jo7PUTL0uTIFJF98jKr0KI:Stack.Build.Installed src/Stack/Build/Installed.hs:189:5)
2016-01-10 04:30:53.669068: [debug] Run process: ghc-pkg --user --no-user-package-db --package-db /home/me/.stack/snapshots/x86_64-linux/lts-4.0/7.10.3/pkgdb dump --expand-pkgroot @(stack_Jo7PUTL0uTIFJF98jKr0KI:System.Process.Read src/System/Process/Read.hs:267:3)
2016-01-10 04:30:53.756455: [debug] Run process: ghc-pkg --user --no-user-package-db --package-db /home/me/proj-web01/.stack-work/install/x86_64-linux/lts-4.0/7.10.3/pkgdb dump --expand-pkgroot @(stack_Jo7PUTL0uTIFJF98jKr0KI:System.Process.Read src/System/Process/Read.hs:267:3)
2016-01-10 04:30:53.793549: [debug] Trying to decode /home/me/.stack/indices/Hackage/00-index.cache @(stack_Jo7PUTL0uTIFJF98jKr0KI:Data.Binary.VersionTagged src/Data/Binary/VersionTagged.hs:55:5)
2016-01-10 04:30:54.256386: [debug] Success decoding /home/me/.stack/indices/Hackage/00-index.cache @(stack_Jo7PUTL0uTIFJF98jKr0KI:Data.Binary.VersionTagged src/Data/Binary/VersionTagged.hs:64:13)
2016-01-10 04:30:54.590810: [debug] Run process: ghc-pkg --no-user-package-db list --global @(stack_Jo7PUTL0uTIFJF98jKr0KI:System.Process.Read src/System/Process/Read.hs:267:3)
2016-01-10 04:30:54.622680: [debug] Trying to decode /home/me/.stack/indices/Hackage/00-index.cache @(stack_Jo7PUTL0uTIFJF98jKr0KI:Data.Binary.VersionTagged src/Data/Binary/VersionTagged.hs:55:5)
2016-01-10 04:30:54.623042: [debug] Trying to decode /home/me/.stack/indices/Hackage/00-index.cache @(stack_Jo7PUTL0uTIFJF98jKr0KI:Data.Binary.VersionTagged src/Data/Binary/VersionTagged.hs:55:5)
2016-01-10 04:30:54.691642: [debug] Trying to decode /home/me/.stack/indices/Hackage/00-index.cache @(stack_Jo7PUTL0uTIFJF98jKr0KI:Data.Binary.VersionTagged src/Data/Binary/VersionTagged.hs:55:5)
2016-01-10 04:30:54.912320: [debug] Trying to decode /home/me/.stack/indices/Hackage/00-index.cache @(stack_Jo7PUTL0uTIFJF98jKr0KI:Data.Binary.VersionTagged src/Data/Binary/VersionTagged.hs:55:5)
2016-01-10 04:30:54.952101: [debug] Trying to decode /home/me/.stack/indices/Hackage/00-index.cache @(stack_Jo7PUTL0uTIFJF98jKr0KI:Data.Binary.VersionTagged src/Data/Binary/VersionTagged.hs:55:5)
2016-01-10 04:30:55.012247: [debug] Trying to decode /home/me/.stack/indices/Hackage/00-index.cache @(stack_Jo7PUTL0uTIFJF98jKr0KI:Data.Binary.VersionTagged src/Data/Binary/VersionTagged.hs:55:5)
2016-01-10 04:30:55.092340: [debug] Trying to decode /home/me/.stack/indices/Hackage/00-index.cache @(stack_Jo7PUTL0uTIFJF98jKr0KI:Data.Binary.VersionTagged src/Data/Binary/VersionTagged.hs:55:5)
2016-01-10 04:30:55.332220: [debug] Trying to decode /home/me/.stack/indices/Hackage/00-index.cache @(stack_Jo7PUTL0uTIFJF98jKr0KI:Data.Binary.VersionTagged src/Data/Binary/VersionTagged.hs:55:5)
2016-01-10 04:30:55.451634: [debug] Trying to decode /home/me/.stack/indices/Hackage/00-index.cache @(stack_Jo7PUTL0uTIFJF98jKr0KI:Data.Binary.VersionTagged src/Data/Binary/VersionTagged.hs:55:5)
2016-01-10 04:30:55.591685: [debug] Trying to decode /home/me/.stack/indices/Hackage/00-index.cache @(stack_Jo7PUTL0uTIFJF98jKr0KI:Data.Binary.VersionTagged src/Data/Binary/VersionTagged.hs:55:5)
2016-01-10 04:30:55.755769: [debug] Trying to decode /home/me/.stack/indices/Hackage/00-index.cache @(stack_Jo7PUTL0uTIFJF98jKr0KI:Data.Binary.VersionTagged src/Data/Binary/VersionTagged.hs:55:5)
2016-01-10 04:30:56.328004: [debug] Trying to decode /home/me/.stack/indices/Hackage/00-index.cache @(stack_Jo7PUTL0uTIFJF98jKr0KI:Data.Binary.VersionTagged src/Data/Binary/VersionTagged.hs:55:5)
2016-01-10 04:30:56.492233: [debug] Trying to decode /home/me/.stack/indices/Hackage/00-index.cache @(stack_Jo7PUTL0uTIFJF98jKr0KI:Data.Binary.VersionTagged src/Data/Binary/VersionTagged.hs:55:5)
2016-01-10 04:30:56.672429: [debug] Trying to decode /home/me/.stack/indices/Hackage/00-index.cache @(stack_Jo7PUTL0uTIFJF98jKr0KI:Data.Binary.VersionTagged src/Data/Binary/VersionTagged.hs:55:5)
2016-01-10 04:30:56.872068: [debug] Trying to decode /home/me/.stack/indices/Hackage/00-index.cache @(stack_Jo7PUTL0uTIFJF98jKr0KI:Data.Binary.VersionTagged src/Data/Binary/VersionTagged.hs:55:5)
2016-01-10 04:30:57.092262: [debug] Success decoding /home/me/.stack/indices/Hackage/00-index.cache @(stack_Jo7PUTL0uTIFJF98jKr0KI:Data.Binary.VersionTagged src/Data/Binary/VersionTagged.hs:64:13)
2016-01-10 04:30:57.331815: [debug] Success decoding /home/me/.stack/indices/Hackage/00-index.cache @(stack_Jo7PUTL0uTIFJF98jKr0KI:Data.Binary.VersionTagged src/Data/Binary/VersionTagged.hs:64:13)
Progress: 0/96Killed

我在这些输出消息中看不到任何东西,它提供了最后发生的事情的线索Progress: 0/96Killed,没有警告,什么都没有……我在网上搜索了类似的问题,但找不到任何问题,我被困在那里。

我的问题:我应该寻找什么,我还应该在哪里看?有没有我应该做的测试让我知道问题可能来自哪里?谢谢。

== 编辑 ==

事实上,这个问题更容易重现:

me@user:~/proj-web00$ stack install yesod
Progress: 0/95Killed
me@user:~/proj-web00$ 

安装其他较小的软件包就可以了(例如stack install csv...)

按照 Sibi 的建议,我尝试增加 VPS 上的交换空间,但显然这在用户级别是不允许的(U&L 讨论)。围绕这个限制有一些技巧,但是在尝试安装yesod时似乎并没有改变任何东西。

4

1 回答 1

1

不是一个很好的技术解决方案,但我更改了 VPS 提供商,在相同的操作系统和相同的明显规格上运行,并且我可以轻松完成stack build所有事情(包括 yesod 套件)。

新的 VPS 服务提供商允许基于用户的交换,但我已经检查过这是没有必要的,并且我仍然可以在没有交换文件的情况下进行编译(但显然,它更慢)。

于 2016-01-13T09:36:11.833 回答