Pet*_*lák 3 haskell ghc cabal cabal-install
在GHC6上使用cabal进行构建时,它会发出警告:
Warning: Falling back to topdown solver for GHC < 7.
Run Code Online (Sandbox Code Playgroud)
什么是自上而下的解决方案,警告的含义是什么?它对我有什么影响?
对于较旧的GHC版本,新的模块化解算器无法正常工作,特别是对于ghc-6.12.X.本系列中有一个特例,它base-3依赖于base-4并通过从较新版本重新导出功能来提供兼容性层.
Hackage上的其他任何地方都没有使用这种特殊情况,我从未认为在新的解算器中实现它是值得的.
由于两个解算器仍由提供cabal-install,它只是默认为较旧的GHC版本的旧"topdown"解算器,并默认为新的GHC版本选择较新的"模块化"解算器.
如果您尝试选择模块化求解器ghc-6.12.X,只要所有库都支持,它仍应该能够找到解决方案base-4.但base-3由于自我依赖性,总会被视为不可用.
只是忽略它.
该消息意味着依赖项求解器组件决定回退到旧算法,因为您使用GHC <7.有关依赖项求解器的作用的更多信息,请参阅AndresLöh和Duncan Coutts的这些幻灯片.他们还解释了新(模块化)和旧(自上而下)求解器之间的区别.
(如果你真的想,你可以cabal install通过运行强制使用新的求解器cabal install --solver=modular.)
| 归档时间: |
|
| 查看次数: |
214 次 |
| 最近记录: |