`сборка стека` Проблема с Yesod

Я пытаюсь собрать новый проект на основе Yesod на чистом (новом) VPS-сервере, который работает на 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

Вот часть файла Кабалы проекта стека:

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 ...)

Следуя совету Сиби, я попытался увеличить пространство подкачки на своем VPS, но, видимо, это не разрешено на уровне пользователя (обсуждение U&L). Есть обходит это ограничение, но это ничего не меняет при попытке установить yesod.


person Janthelme    schedule 10.01.2016    source источник
comment
Добавьте 1 ГБ пространства подкачки и повторите попытку.   -  person Sibi    schedule 10.01.2016
comment
Хостинг-провайдер, похоже, не очень щедр на пространство подкачки пользователей ... Теперь проверяю, какие у меня есть варианты.   -  person Janthelme    schedule 11.01.2016
comment
Если у вас есть доступ к оболочке, вы можете сделать это: stackoverflow.com/a/13106205/1651941   -  person Sibi    schedule 11.01.2016
comment
@Сиби. Это именно то, что я сделал, однако решение VPS, по-видимому, не разрешает пользовательский обмен, и я получаю сообщение об ошибке swapon: /swapfile: swapon failed: Operation not permitted при попытке включить обмен (команда swapon /swapfile), это то, что упоминается в ссылке на обсуждение U&L выше (в моем редактировании) . Я позвонил хостинг-провайдеру, который предложил мне перейти с VPS на выделенный сервер... :(   -  person Janthelme    schedule 11.01.2016
comment
Чтобы вы не упустили очевидное, вы использовали sudo при вводе команды?   -  person Sibi    schedule 11.01.2016
comment
@Сиби. Хороший вопрос, но я не спрашивал. Сообщение об ошибке swapon failed: Operation not permitted связано с sudo ; без sudo это open failed: Permission denied. Я по-прежнему оптимистичен и считаю, что есть решение этой проблемы, так как, вероятно, многие другие пользователи уже установили Yesod на VPS.   -  person Janthelme    schedule 11.01.2016


Ответы (1)


Не лучшее техническое решение, но я сменил провайдера VPS, работающего на той же ОС и с теми же очевидными характеристиками, и мне легко удалось stack build все (включая набор yesod).

Новый провайдер услуг VPS позволяет выполнять подкачку пользовательской базы, но я проверил, что в этом нет необходимости, и я все еще могу скомпилировать без файла подкачки (но, очевидно, это медленнее).

person Janthelme    schedule 13.01.2016