[英]Trouble Installing HTF with Cabal
我正在嘗試安裝HTF。 但是,在我cabal install HTF
我得到了這個:
Resolving dependencies...
Configuring HTF-0.10.0.7...
Warning: This package indirectly depends on multiple versions of the same
package. This is highly likely to cause a compile failure.
package regex-base-0.93.2 requires mtl-2.0.1.0
package aeson-0.6.0.2 requires mtl-2.1.2
package HTF-0.10.0.7 requires mtl-2.1.2
package mtl-2.0.1.0 requires transformers-0.2.2.0
package transformers-base-0.4.1 requires transformers-0.3.0.0
package mtl-2.1.2 requires transformers-0.3.0.0
package monad-control-0.3.1.4 requires transformers-0.3.0.0
Building HTF-0.10.0.7...
Preprocessing library HTF-0.10.0.7...
ghc: could not execute: cpphs
cabal: Error: some packages failed to install:
HTF-0.10.0.7 failed during the building phase. The exception was:
ExitFailure 1
我嘗試過安裝其他版本,但遇到了不同的問題。 例如,使用cabal install 'HTF <= 0.1'
我得到以下結果:
Resolving dependencies...
Downloading QuickCheck-1.2.0.1...
Configuring QuickCheck-1.2.0.1...
Building QuickCheck-1.2.0.1...
Preprocessing library QuickCheck-1.2.0.1...
[1 of 8] Compiling Test.QuickCheck ( Test/QuickCheck.hs, dist/build/Test/QuickCheck.o )
[2 of 8] Compiling Test.QuickCheck.Batch ( Test/QuickCheck/Batch.hs, dist/build/Test/QuickCheck/Batch.o )
[3 of 8] Compiling Test.QuickCheck.Utils ( Test/QuickCheck/Utils.hs, dist/build/Test/QuickCheck/Utils.o )
[4 of 8] Compiling Test.QuickCheck.Poly ( Test/QuickCheck/Poly.hs, dist/build/Test/QuickCheck/Poly.o )
[5 of 8] Compiling Debug.QuickCheck.Poly ( Debug/QuickCheck/Poly.hs, dist/build/Debug/QuickCheck/Poly.o )
[6 of 8] Compiling Debug.QuickCheck.Utils ( Debug/QuickCheck/Utils.hs, dist/build/Debug/QuickCheck/Utils.o )
[7 of 8] Compiling Debug.QuickCheck ( Debug/QuickCheck.hs, dist/build/Debug/QuickCheck.o )
[8 of 8] Compiling Debug.QuickCheck.Batch ( Debug/QuickCheck/Batch.hs, dist/build/Debug/QuickCheck/Batch.o )
Registering QuickCheck-1.2.0.1...
Installing library in /home/xxx/.cabal/lib/QuickCheck-1.2.0.1/ghc-7.4.1
Registering QuickCheck-1.2.0.1...
Downloading HTF-0.1...
Configuring HTF-0.1...
Building HTF-0.1...
Preprocessing library HTF-0.1...
[1 of 8] Compiling Test.Framework.Utils ( Test/Framework/Utils.hs, dist/build/Test/Framework/Utils.o )
[2 of 8] Compiling Test.Framework.Process ( Test/Framework/Process.hs, dist/build/Test/Framework/Process.o )
Test/Framework/Process.hs:45:48:
Ambiguous type variable `a0' in the constraints:
(Show a0)
arising from a use of `show' at Test/Framework/Process.hs:45:48-51
(Control.Exception.Exception a0)
arising from a use of `Control.Exception.handle'
at Test/Framework/Process.hs:45:5-28
Probable fix: add a type signature that fixes these type variable(s)
In the expression: show e
In the first argument of `return', namely
`([], show e, error (show e))'
In the expression: return ([], show e, error (show e))
cabal: Error: some packages failed to install:
HTF-0.1 failed during the building phase. The exception was:
ExitFailure 1
在cabal install 'HTF <= 0.9'
之后,我也得到類似於第一個的結果。 我試過ghc-pkg check
,它給了我一個破損的包清單。 我重新安裝了軟件包並重復嘗試再次安裝HTF,結果相同。
第一個問題是你有針對mtl-2.0.1.0
構建的regex-base
package regex-base-0.93.2 requires mtl-2.0.1.0
package aeson-0.6.0.2 requires mtl-2.1.2
HTF
將取決於多個版本的mtl
。 這很少奏效。
解決方法是$ ghc-pkg unregister regex-base
。 如果ghc-pkg
警告那會破壞其他包,你也必須重建它們。 如果手動執行操作太多,您可以考慮刪除整個用戶包-db(我希望這些包都是用戶安裝的,如果全局安裝,則無法刪除整個全局數據庫)並重建所有內容與cabal install world
。
刪除regex-base
后,沒有任何東西依賴於mtl-2.0.1.0
,並且依賴項不會導致沖突; 在實際安裝HTF
之前,你應該檢查一下
cabal install HTF --dry-run
如果仍然存在沖突,那么應該檢測它們,並且您可以通過取消注冊其他包來幫助解決它們。
下一個問題是
ghc: could not execute: cpphs
看起來好像你的PATH
沒有cpphs
。 您沒有安裝它,在這種情況下您需要在安裝HTF
之前執行此操作,或者安裝它的目錄需要添加到PATH
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.