我通常发现超过一半的大包装的cabal安装失败了,而不是新用户的致命缺陷!
这次我试图安装yesod,任何提示?
> cabal install yesod
...
Loading package time-1.2.0.5 ...
GHCi runtime linker: fatal error: I found a duplicate definition for symbol
_get_current_timezone_seconds
whilst processing object file
C:\Users\guthrie\AppData\Roaming\cabal\time-1.2.0.5\ghc-7.4.1\HStime-1.2.0.5.o
This could be caused by:
* Loading two different object files which export the same symbol
* Specifying the same object file twice on the GHCi command line
* An incorrect `package.conf' entry, causing some object to be
loaded twice.
GHCi cannot safely continue in this situation. Exiting now. Sorry.
cabal: Error: some packages failed to install:
authenticate-1.3.1.1 depends on http-conduit-1.6.1.1 which failed to install.
http-conduit-1.6.1.1 failed during the building phase. The exception was:
ExitFailure 1
yesod-1.1.1.2 depends on yesod-core-1.1.2.1 which failed to install.
yesod-auth-1.1.1.1 depends on yesod-core-1.1.2.1 which failed to install.
yesod-core-1.1.2.1 failed during the building phase. The exception was:
ExitFailure 1
yesod-form-1.1.3 depends on yesod-core-1.1.2.1 which failed to install.
yesod-json-1.1.0 depends on yesod-core-1.1.2.1 which failed to install.
yesod-persistent-1.1.0 depends on yesod-core-1.1.2.1 which failed to install.
答案 0 :(得分:2)
yesod使用与Haskell平台不同的alex包版本。除了ghc之外,我总是从我的发行版包管理器安装alex和happy,然后使用cabal。或者,您可以随时使用
cabal update && cabal install alex happy
cabal install yesod-platform
答案 1 :(得分:0)
这很可能是因为尝试同时安装两个版本的时间包。您可以尝试运行cabal install yesod-platform
并查看问题是否仍然存在?
正如@Inaimathi所说,这可能是由于cabal
的旧版本。也许还可以尝试cabal update && cabal install cabal-install
。