macos - 无法在 Mac OSX 上安装 Yesod Haskell Web 框架

标签 macos haskell installation yesod

我不知道如何解决这个问题。有人有什么想法吗?

当我尝试时收到以下错误消息:

~ >>> cabal install yesod
Resolving dependencies...
Configuring aeson-0.5.0.0...
Preprocessing library aeson-0.5.0.0...
Preprocessing test suites for aeson-0.5.0.0...
Building aeson-0.5.0.0...
[ 1 of 10] Compiling Data.Aeson.Types.Internal ( Data/Aeson/Types/Internal.hs, dist/build/Data/Aeson/Types/Internal.o )
[ 2 of 10] Compiling Data.Aeson.Functions ( Data/Aeson/Functions.hs, dist/build/Data/Aeson/Functions.o )
[ 3 of 10] Compiling Data.Aeson.Types.Class ( Data/Aeson/Types/Class.hs, dist/build/Data/Aeson/Types/Class.o )
[ 4 of 10] Compiling Data.Aeson.Types ( Data/Aeson/Types.hs, dist/build/Data/Aeson/Types.o )
[ 5 of 10] Compiling Data.Aeson.Parser.Internal ( Data/Aeson/Parser/Internal.hs, dist/build/Data/Aeson/Parser/Internal.o )
SpecConstr
    Function `$j_sqbP{v} [lid]'
      has two call patterns, but the limit is 1
    Use -fspec-constr-count=n to set the bound
    Use -dppr-debug to see specialisations
SpecConstr
    Function `$j_sqbP{v} [lid]'
      has two call patterns, but the limit is 1
    Use -fspec-constr-count=n to set the bound
    Use -dppr-debug to see specialisations
SpecConstr
    Function `$j_sqbT{v} [lid]'
      has two call patterns, but the limit is 1
    Use -fspec-constr-count=n to set the bound
    Use -dppr-debug to see specialisations
SpecConstr
    Function `$j_sqbP{v} [lid]'
      has two call patterns, but the limit is 1
    Use -fspec-constr-count=n to set the bound
    Use -dppr-debug to see specialisations
SpecConstr
    Function `$j_sqbT{v} [lid]'
      has two call patterns, but the limit is 1
    Use -fspec-constr-count=n to set the bound
    Use -dppr-debug to see specialisations
SpecConstr
    Function `$j_sqbP{v} [lid]'
      has two call patterns, but the limit is 1
    Use -fspec-constr-count=n to set the bound
    Use -dppr-debug to see specialisations
SpecConstr
    Function `$j_sqbT{v} [lid]'
      has two call patterns, but the limit is 1
    Use -fspec-constr-count=n to set the bound
    Use -dppr-debug to see specialisations
SpecConstr
    Function `$j_sqc0{v} [lid]'
      has two call patterns, but the limit is 1
    Use -fspec-constr-count=n to set the bound
    Use -dppr-debug to see specialisations
SpecConstr
    Function `ks3{v sqhn} [lid]'
      has one call pattern, but the limit is 0
    Use -fspec-constr-count=n to set the bound
    Use -dppr-debug to see specialisations
[ 6 of 10] Compiling Data.Aeson.Parser ( Data/Aeson/Parser.hs, dist/build/Data/Aeson/Parser.o )
[ 7 of 10] Compiling Data.Aeson.Encode ( Data/Aeson/Encode.hs, dist/build/Data/Aeson/Encode.o )
[ 8 of 10] Compiling Data.Aeson.Generic ( Data/Aeson/Generic.hs, dist/build/Data/Aeson/Generic.o )
[ 9 of 10] Compiling Data.Aeson       ( Data/Aeson.hs, dist/build/Data/Aeson.o )
[10 of 10] Compiling Data.Aeson.TH    ( Data/Aeson/TH.hs, dist/build/Data/Aeson/TH.o )

Data/Aeson/Generic.hs:31:8:
    Could not find module `Control.Monad.State.Strict':
      Perhaps you haven't installed the profiling libraries for package `mtl-2.0.1.0'?
      Use -v to see a list of the files searched for.
Configuring control-monad-attempt-0.3.0.1...
Preprocessing library control-monad-attempt-0.3.0.1...
Building control-monad-attempt-0.3.0.1...
[1 of 1] Compiling Control.Monad.Attempt ( Control/Monad/Attempt.hs, dist/build/Control/Monad/Attempt.o )
[1 of 1] Compiling Control.Monad.Attempt ( Control/Monad/Attempt.hs, dist/build/Control/Monad/Attempt.p_o )

Control/Monad/Attempt.hs:33:1:
    Failed to load interface for `Control.Monad.Trans.Class':
      Perhaps you haven't installed the profiling libraries for package `transformers-0.2.2.0'?
      Use -v to see a list of the files searched for.
Configuring email-validate-0.2.7...
Preprocessing library email-validate-0.2.7...
Building email-validate-0.2.7...
[1 of 1] Compiling Text.Email.Validate ( Text/Email/Validate.hs, dist/build/Text/Email/Validate.o )

Text/Email/Validate.hs:11:8:
    Could not find module `Text.Parsec.Char':
      Perhaps you haven't installed the profiling libraries for package `parsec-3.1.1'?
      Use -v to see a list of the files searched for.
Configuring enumerator-0.4.18...
Preprocessing library enumerator-0.4.18...
Building enumerator-0.4.18...
[ 1 of 10] Compiling Data.Enumerator.Util ( lib/Data/Enumerator/Util.hs, dist/build/Data/Enumerator/Util.o )
[ 2 of 10] Compiling Data.Enumerator.Internal ( lib/Data/Enumerator/Internal.hs, dist/build/Data/Enumerator/Internal.o )
[ 3 of 10] Compiling Data.Enumerator.List[boot] ( lib/Data/Enumerator/List.hs-boot, dist/build/Data/Enumerator/List.o-boot )
[ 4 of 10] Compiling Data.Enumerator.Compatibility ( lib/Data/Enumerator/Compatibility.hs, dist/build/Data/Enumerator/Compatibility.o )
[ 5 of 10] Compiling Data.Enumerator  ( lib/Data/Enumerator.hs, dist/build/Data/Enumerator.o )

lib/Data/Enumerator.hs:63:11:
    Warning: `Enumerator' is exported by `module Data.Enumerator.Internal' and `Enumerator'

lib/Data/Enumerator.hs:63:11:
    Warning: `Iteratee' is exported by `module Data.Enumerator.Internal' and `Iteratee'

lib/Data/Enumerator.hs:63:11:
    Warning: `Enumeratee' is exported by `module Data.Enumerator.Internal' and `Enumeratee'

lib/Data/Enumerator.hs:63:11:
    Warning: `>>==' is exported by `module Data.Enumerator.Internal' and `(>>==)'

lib/Data/Enumerator.hs:63:11:
    Warning: `==<<' is exported by `module Data.Enumerator.Internal' and `(==<<)'

lib/Data/Enumerator.hs:63:11:
    Warning: `$$' is exported by `module Data.Enumerator.Internal' and `($$)'

lib/Data/Enumerator.hs:63:11:
    Warning: `>==>' is exported by `module Data.Enumerator.Internal' and `(>==>)'

lib/Data/Enumerator.hs:63:11:
    Warning: `<==<' is exported by `module Data.Enumerator.Internal' and `(<==<)'
[ 6 of 10] Compiling Data.Enumerator.List ( lib/Data/Enumerator/List.hs, dist/build/Data/Enumerator/List.o )
[ 7 of 10] Compiling Data.Enumerator.Binary ( lib/Data/Enumerator/Binary.hs, dist/build/Data/Enumerator/Binary.o )

lib/Data/Enumerator/Binary.hs:721:25:
    Warning: This binding for `eof' shadows the existing binding
               bound at lib/Data/Enumerator/Binary.hs:716:29

lib/Data/Enumerator/Binary.hs:788:17:
    Warning: This binding for `rem' shadows the existing binding
               imported from Prelude at lib/Data/Enumerator/Binary.hs:98:1-92
[ 8 of 10] Compiling Data.Enumerator.IO ( lib/Data/Enumerator/IO.hs, dist/build/Data/Enumerator/IO.o )
[ 9 of 10] Compiling Data.Enumerator.Text ( lib/Data/Enumerator/Text.hs, dist/build/Data/Enumerator/Text.o )
SpecConstr
    Function `$j_sn5C{v} [lid]'
      has five call patterns, but the limit is 3
    Use -fspec-constr-count=n to set the bound
    Use -dppr-debug to see specialisations

lib/Data/Enumerator/Text.hs:744:25:
    Warning: This binding for `eof' shadows the existing binding
               bound at lib/Data/Enumerator/Text.hs:739:29
[10 of 10] Compiling Data.Enumerator.Trans ( lib/Data/Enumerator/Trans.hs, dist/build/Data/Enumerator/Trans.o )

lib/Data/Enumerator.hs:80:18:
    Could not find module `Data.Functor.Identity':
      Perhaps you haven't installed the profiling libraries for package `transformers-0.2.2.0'?
      Use -v to see a list of the files searched for.
Configuring shakespeare-0.10.2...
Preprocessing library shakespeare-0.10.2...
Building shakespeare-0.10.2...
[1 of 2] Compiling Text.Shakespeare.Base ( Text/Shakespeare/Base.hs, dist/build/Text/Shakespeare/Base.o )
[2 of 2] Compiling Text.Shakespeare ( Text/Shakespeare.hs, dist/build/Text/Shakespeare.o )

Text/Shakespeare.hs:20:8:
    Could not find module `Text.ParserCombinators.Parsec':
      Perhaps you haven't installed the profiling libraries for package `parsec-3.1.1'?
      Use -v to see a list of the files searched for.
Configuring simple-sendfile-0.2.0...
Preprocessing library simple-sendfile-0.2.0...
Building simple-sendfile-0.2.0...
[1 of 3] Compiling Network.Sendfile.Types ( Network/Sendfile/Types.hs, dist/build/Network/Sendfile/Types.o )
[2 of 3] Compiling Network.Sendfile.MacOS ( dist/build/Network/Sendfile/MacOS.hs, dist/build/Network/Sendfile/MacOS.o )
[3 of 3] Compiling Network.Sendfile ( Network/Sendfile.hs, dist/build/Network/Sendfile.o )

Network/Sendfile/MacOS.hsc:19:8:
    Could not find module `Network.Socket':
      Perhaps you haven't installed the profiling libraries for package `network-2.3.0.2'?
      Use -v to see a list of the files searched for.
Configuring transformers-base-0.4.1...
Preprocessing library transformers-base-0.4.1...
Building transformers-base-0.4.1...
[1 of 1] Compiling Control.Monad.Base ( src/Control/Monad/Base.hs, dist/build/Control/Monad/Base.o )

src/Control/Monad/Base.hs:63:10:
    Warning: orphan instance: instance Applicative (L.ST s)

src/Control/Monad/Base.hs:67:10:
    Warning: orphan instance: instance Applicative (S.ST s)

src/Control/Monad/Base.hs:28:8:
    Could not find module `Control.Monad.Trans.Cont':
      Perhaps you haven't installed the profiling libraries for package `transformers-0.2.2.0'?
      Use -v to see a list of the files searched for.
Configuring xss-sanitize-0.3.1...
Preprocessing library xss-sanitize-0.3.1...
Preprocessing test suites for xss-sanitize-0.3.1...
Building xss-sanitize-0.3.1...
[1 of 2] Compiling Text.HTML.SanitizeXSS.Css ( Text/HTML/SanitizeXSS/Css.hs, dist/build/Text/HTML/SanitizeXSS/Css.o )
[2 of 2] Compiling Text.HTML.SanitizeXSS ( Text/HTML/SanitizeXSS.hs, dist/build/Text/HTML/SanitizeXSS.o )

Text/HTML/SanitizeXSS.hs:19:8:
    Could not find module `Network.URI':
      Perhaps you haven't installed the profiling libraries for package `network-2.3.0.2'?
      Use -v to see a list of the files searched for.
cabal: Error: some packages failed to install:
aeson-0.5.0.0 failed during the building phase. The exception was:
ExitFailure 1
asn1-data-0.6.1.2 depends on enumerator-0.4.18 which failed to install.
attoparsec-enumerator-0.3 depends on enumerator-0.4.18 which failed to
install.
authenticate-0.10.4 depends on transformers-base-0.4.1 which failed to
install.
blaze-builder-enumerator-0.2.0.3 depends on enumerator-0.4.18 which failed to
install.
certificate-1.0.1 depends on enumerator-0.4.18 which failed to install.
conduit-0.0.4 depends on transformers-base-0.4.1 which failed to install.
control-monad-attempt-0.3.0.1 failed during the building phase. The exception
was:
ExitFailure 1
data-object-yaml-0.3.4 depends on transformers-base-0.4.1 which failed to
install.
email-validate-0.2.7 failed during the building phase. The exception was:
ExitFailure 1
enumerator-0.4.18 failed during the building phase. The exception was:
ExitFailure 1
hamlet-0.10.7.1 depends on shakespeare-0.10.2 which failed to install.
http-enumerator-0.7.2.5 depends on transformers-base-0.4.1 which failed to
install.
lifted-base-0.1.0.2 depends on transformers-base-0.4.1 which failed to
install.
monad-control-0.3.1 depends on transformers-base-0.4.1 which failed to
install.
persistent-0.6.4.4 depends on transformers-base-0.4.1 which failed to install.
persistent-template-0.6.3.1 depends on transformers-base-0.4.1 which failed to
install.
pool-0.1.2 depends on transformers-base-0.4.1 which failed to install.
shakespeare-0.10.2 failed during the building phase. The exception was:
ExitFailure 1
shakespeare-css-0.10.6 depends on shakespeare-0.10.2 which failed to install.
shakespeare-i18n-0.0.0 depends on shakespeare-0.10.2 which failed to install.
shakespeare-js-0.10.4 depends on shakespeare-0.10.2 which failed to install.
shakespeare-text-0.10.3 depends on shakespeare-0.10.2 which failed to install.
simple-sendfile-0.2.0 failed during the building phase. The exception was:
ExitFailure 1
tls-0.8.5 depends on enumerator-0.4.18 which failed to install.
tls-extra-0.4.2 depends on enumerator-0.4.18 which failed to install.
transformers-base-0.4.1 failed during the building phase. The exception was:
ExitFailure 1
wai-0.4.3 depends on enumerator-0.4.18 which failed to install.
wai-extra-0.4.6 depends on enumerator-0.4.18 which failed to install.
wai-logger-0.1.2 depends on enumerator-0.4.18 which failed to install.
warp-0.4.6.3 depends on simple-sendfile-0.2.0 which failed to install.
xml-enumerator-0.4.4.1 depends on enumerator-0.4.18 which failed to install.
xss-sanitize-0.3.1 failed during the building phase. The exception was:
ExitFailure 1
yaml-0.5.1.2 depends on transformers-base-0.4.1 which failed to install.
yesod-0.9.4.1 depends on xss-sanitize-0.3.1 which failed to install.
yesod-auth-0.7.9 depends on xss-sanitize-0.3.1 which failed to install.
yesod-core-0.9.4.1 depends on transformers-base-0.4.1 which failed to install.
yesod-form-0.3.4.2 depends on xss-sanitize-0.3.1 which failed to install.
yesod-json-0.2.3 depends on transformers-base-0.4.1 which failed to install.
yesod-persistent-0.2.2 depends on transformers-base-0.4.1 which failed to
install.
zlib-enum-0.2.1 depends on enumerator-0.4.18 which failed to install.

最佳答案

您正在尝试使用分析库构建 Yesod 及其所有依赖项,但您已安装的现有软件包(mtl、parsec 等)没有安装分析库。如果要编译带有分析库的包,则其所有依赖项也必须安装分析库。据推测,您在安装软件包后的某个时刻在 ~/.cabal/config 中打开了分析。

一种解决方案是显式cabal install --reinstall它所提示的每个包,但cabal install --reinstall world可能更容易(或者保存您的~/.cabal/configrm -r ~/.cabal ~/.ghc并重新开始)。

如果您不太关心分析库,只需注释掉 ~/.cabal/config 中的 library-profiling: True 行即可。

关于macos - 无法在 Mac OSX 上安装 Yesod Haskell Web 框架,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8954566/

相关文章:

haskell - 将 [[Maybe Int]] 转换为 IO ()

c# - 如何将非英文命名文件添加到 Visual Studio 2010 中的安装项目?

installation - 独立 Windows .exe 与安装程序相比有何优势?

xcode - 在 MacOS 上使用 Google Chrome/Chromium 代替 WebKit

php - 无法在 Mac 上连接到 MySQL——缺少 mysql.sock 文件

Haskell: "Cast"/强制类型?

haskell - 在 Haskell 中推导是什么/意味着什么?

java - 如何使 Java 应用程序 self 更新?

py2app 制作的应用程序中存在 Python 代码

python - ImportError at/No module named urls