Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Cannot install Yesod Haskell web framework on Mac OSX

I've no idea how to fix this. Does anybody have any ideas?

I'm getting the following error messages when I try:

~ >>> 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.
like image 783
olive Avatar asked Dec 28 '22 07:12

olive


1 Answers

You're trying to build Yesod, and all of its dependencies, with profiling libraries, but the existing packages you have installed — mtl, parsec, and so on — don't have the profiling libraries installed. If you want to compile a package with profiling libraries, all of its dependencies must have the profiling libraries installed too. Presumably, you turned on profiling in your ~/.cabal/config at some point after having already installed packages.

One solution would be to explicitly cabal install --reinstall each package it's complaining about, but it's probably easier to cabal install --reinstall world (or save your ~/.cabal/config, rm -r ~/.cabal ~/.ghc and start over).

If you don't really care that much about profiling libraries, just comment out the library-profiling: True line in your ~/.cabal/config.

like image 122
ehird Avatar answered Feb 12 '23 09:02

ehird