[英]Haskell Gloss: missing dependencies
作為單項任務,我需要使用某些功能來增強給定的Haskell框架。 由於此框架使用了Gloss庫,因此我使用cabal install gloss
了Gloss。 這沒有給我任何錯誤,但是,當嘗試配置框架的安裝文件( runghc Setup configure
)時,出現以下錯誤消息:
Configuring lambda-wars-0.1.0.0...
Setup: Encountered missing dependencies:
gloss >=1.8 && <1.10, random ==1.0.*, time >=1.4 && <1.6
嘗試安裝這些依賴項(例如cabal install 'gloss >=1.8 && <1.10
)會給我其他錯誤消息:
Resolving dependencies...
cabal: Could not resolve dependencies:
next goal: gloss (user goal)
rejecting: gloss-1.10.2.3/installed-3mE..., gloss-1.10.2.3, gloss-1.10.2.2,
gloss-1.10.2.1, gloss-1.10.1.1 (constraint from user target requires >=1.8 &&
<1.10)
trying: gloss-1.9.4.1
next goal: base (dependency of gloss-1.9.4.1)
rejecting: base-4.9.0.0/installed-4.9... (conflict: gloss => base==4.8.*)
rejecting: base-4.9.0.0, base-4.8.2.0, base-4.8.1.0, base-4.8.0.0,
base-4.7.0.2, base-4.7.0.1, base-4.7.0.0, base-4.6.0.1, base-4.6.0.0,
base-4.5.1.0, base-4.5.0.0, base-4.4.1.0, base-4.4.0.0, base-4.3.1.0,
base-4.3.0.0, base-4.2.0.2, base-4.2.0.1, base-4.2.0.0, base-4.1.0.0,
base-4.0.0.0, base-3.0.3.2, base-3.0.3.1 (constraint from non-upgradeable
package requires installed instance)
Dependency tree exhaustively searched.
經過研究,我發現這意味着我的GHC版本與項目所需的版本不同。 但是,我似乎無法弄清楚該如何解決!
我在Mac OS X 10.10.5版上工作。
我會先嘗試將其安裝在Cabal沙箱中:
$ cabal sandbox init
$ cabal install LambdaWars
但是在這里看起來您有一個與之不兼容的base
軟件包版本。 您是否嘗試過使用base-4.8
的舊版GHC 7.8編譯器?
stack.yaml
resolver: lts-7.4 # for ghc 8.0.1 #resolver: lts-6.22 # for ghc 7.10.3 packages: - '.' extra-deps: - AC-Angle-1.0 - AC-Vector-Fancy-2.4.0 flags: {} extra-package-dbs: []
另外,您需要在src/Engines.hs
進行一些修改
在文件頂部添加{-# LANGUAGE CPP -#}
import Data.Label.Pure
{-# LANGUAGE CPP -#}
,在第26行中刪除import Data.Label.Pure
,並將其他import Data.Label.Pure
更改為以下內容
#if MIN_VERSION_fclabels(2,0,0)
import Data.Label
#else
import Data.Label.Pure
#endif
由於glut無法正常運作,因此無法測試-但可以使用ghc-8.0.1編譯,我會在git repo 提出拉取要求
要構建lambdawars,您需要運行
> stack build
> stack exec -- LambdaWars
注意:在Linux上,您需要運行sudo apt-get install freeglut3-dev
東西。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.