【问题标题】:Errors in installing netcore with cabal-install使用 cabal-install 安装 netcore 时出错
【发布时间】:2015-04-04 18:06:03
【问题描述】:

我按照指示尝试了以下命令:

cabal install netcore

错误如下:

rmichael@node:~/netcore$ cabal install netcore --force-reinstalls --reinstall
Resolving dependencies...
cabal: Could not resolve dependencies:
trying: netcore-1.0.0 (user goal)
next goal: network (dependency of netcore-1.0.0)
rejecting: network-2.6.0.2/installed-9fc..., 2.6.0.2, 2.6.0.1, 2.6.0.0,
2.5.0.0, 2.4.2.3, 2.4.2.2, 2.4.2.1, 2.4.2.0, 2.4.1.2, 2.4.1.1, 2.4.1.0,
2.4.0.1, 2.4.0.0 (conflict: netcore => network==2.3.*)
trying: network-2.3.2.0
next goal: unix (dependency of network-2.3.2.0)
rejecting: unix-2.7.0.1/installed-f86... (conflict: unix =>
bytestring==0.10.4.0/installed-d6f..., netcore => bytestring==0.9.*)
trying: unix-2.7.1.0
next goal: parsec (dependency of netcore-1.0.0)
rejecting: parsec-3.1.9/installed-3e8... (package is broken)
trying: parsec-3.1.9
next goal: text (dependency of parsec-3.1.9)
rejecting: text-1.2.0.4/installed-3df... (conflict: text =>
bytestring==0.10.6.0/installed-768..., netcore => bytestring==0.9.*)
trying: text-1.2.0.4
next goal: bytestring (dependency of netcore-1.0.0)
rejecting: bytestring-0.10.6.0/installed-768..., 0.10.4.0/installed-d6f...,
0.10.6.0, 0.10.4.1, 0.10.4.0, 0.10.2.0, 0.10.0.2, 0.10.0.1, 0.10.0.0
(conflict: netcore => bytestring==0.9.*)
rejecting: bytestring-0.9.2.1, 0.9.2.0 (conflict: text =>
bytestring>=0.10.4.0)
rejecting: bytestring-0.9.1.10, 0.9.1.9, 0.9.1.8, 0.9.1.7, 0.9.1.6, 0.9.1.5,
0.9.1.4, 0.9.1.3, 0.9.1.2, 0.9.1.1, 0.9.1.0, 0.9.0.4, 0.9.0.3, 0.9.0.2,
0.9.0.1, 0.9 (conflict: unix => bytestring>=0.9.2 && <0.11)
Dependency tree exhaustively searched.
rmichael@node:~/netcore$ 

我无法从这些消息中解读出我下一步应该采取的行动。任何帮助将不胜感激。

P.S.:我的最终目标是让 FlowLog 启动并运行。我这里使用的是 Ubuntu 14.04 系统。

【问题讨论】:

  • 您的第一个行动方案可能应该始终是在沙箱中构建。问题是netcore的选定版本需要bytestring==0.9.*,而text的选定版本需要bytestring&gt;=0.10.4.0——显然不兼容。我认为netcore引入的约束太紧了,但是您可以尝试使用--constraint='bytestring==0.9.*'安装。
  • 我在--dry-run 上也尝试过但也失败了一点。当netcore 上传时,我有一个愚蠢的想法,即尝试修复 2012 年新版本的软件包。我遇到了一个你也一定会遇到的问题:netcore 所需的binary 版本不适用于现代 GHC。由于具有过于严格的约束和完全没有约束的依赖关系的奇怪混合,我怀疑这个包已经彻底烂掉了。
  • @user2407038:谢谢!明天我一定会先试试。

标签: linux haskell cabal cabal-install


【解决方案1】:

与其尝试在我要构建的旧包周围安装旧包,我发现去提升它的所有版本 deps(或使用--allow-newer 自动这样做)然后去做清洁工更合理努力修复其中引入的(轻微)破损。通常只有少数东西需要修复,尽管它们可能需要修复很多地方。最终结果是一个更新版本的软件包,您可以将其发回给作者并要求他们进行黑客攻击!

【讨论】:

    猜你喜欢
    • 2015-01-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-08-21
    • 2022-01-17
    相关资源
    最近更新 更多