部署到 OpenShift 时 ReadArgs 上的 Cabal 构建失败

Cabal build failure on ReadArgs when deploying to OpenShift

我正在尝试将 Web 应用程序部署到 OpenShift。我的应用程序是用 Yesod web framework. I would like to use the Yesod cartridge from Haskell wiki.

编写的

我可以创建应用程序并部署随盒提供的示例。但是,当我向cabal文件中添加更多依赖项时,推送后的构建失败。

失败依赖的一个例子是ReadArgs。它因以下错误而失败:

remote: ReadArgs.hs:11:8:
remote:     Could not find module `Filesystem.Path'
remote:     There are files missing in the `system-filepath-0.4.12' package,
remote:     try running 'ghc-pkg check'.
remote:     Use -v to see a list of the files searched for.
remote:
remote: ReadArgs.hs:12:8:
remote:     Could not find module `Filesystem.Path.CurrentOS'
remote:     There are files missing in the `system-filepath-0.4.12' package,
remote:     try running 'ghc-pkg check'.
remote:     Use -v to see a list of the files searched for.

ghc-pkg check 命令表示以下关于 system-filepath:

There are problems in package system-filepath-0.4.12:
  Warning: library-dirs: /var/lib/openshift/52a44a9e4382ecf07100007e/app-root/data/workspace/Haskell-Cloud/usr/lib/system-filepath-0.4.12/ghc-7.8.4 doesn't exist or isn't a directory
  Warning: haddock-interfaces: /var/lib/openshift/52a44a9e4382ecf07100007e/app-root/data/workspace/Haskell-Cloud/usr/share/doc/system-filepath-0.4.12/html/system-filepath.haddock doesn't exist or isn't a file
  Warning: haddock-html: /var/lib/openshift/52a44a9e4382ecf07100007e/app-root/data/workspace/Haskell-Cloud/usr/share/doc/system-filepath-0.4.12/html doesn't exist or isn't a directory
  import-dirs: /var/lib/openshift/52a44a9e4382ecf07100007e/app-root/data/workspace/Haskell-Cloud/usr/lib/system-filepath-0.4.12/ghc-7.8.4 doesn't exist or isn't a directory
  cannot find any of ["Filesystem/Path.hi","Filesystem/Path.p_hi","Filesystem/Path.dyn_hi"]
  cannot find any of ["Filesystem/Path/CurrentOS.hi","Filesystem/Path/CurrentOS.p_hi","Filesystem/Path/CurrentOS.dyn_hi"]
  cannot find any of ["Filesystem/Path/Rules.hi","Filesystem/Path/Rules.p_hi","Filesystem/Path/Rules.dyn_hi"]
  cannot find any of ["Filesystem/Path/Internal.hi","Filesystem/Path/Internal.p_hi","Filesystem/Path/Internal.dyn_hi"]
  cannot find any of ["libHSsystem-filepath-0.4.12.a","libHSsystem-filepath-0.4.12.p_a","libHSsystem-filepath-0.4.12-ghc7.8.4.so","libHSsystem-filepath-0.4.12-ghc7.8.4.dylib","HSsystem-filepath-0.4.12-ghc7.8.4.dll"] on library path

这些问题看起来很严重,但是它没有告诉我如何解决它。

如何找出构建失败的原因?我怎样才能构建它?

事实证明这是墨盒中的错误,现已修复。

它曾经是 issue #3,但问题跟踪器似乎已被删除。