在 Ubuntu 12.04 勇敢面对阴谋地狱
Braving cabal hell on Ubuntu 12.04
试图在 Ubuntu 的 12.04 精确构建中穿越整个 Cabal 依赖地狱,但我进展缓慢。
我的第一个bash命令
cabal install --allow-newer
在一长串新包的底部产生以下消息:
cabal: The following packages are likely to be broken by the
reinstalls:
regex-posix-0.95.1
regex-compat-0.95.1
Use `--force-reinstalls` if you want to install anyway.
(注意:从来没有强制重新安装 运行。)
如何修复这些包并完成安装 cabal 的过程?
我必须留在 12.04 并且 cabal 已更新。
cabal install ad --reorder-goals
终于安装成功了。
然而我仍然没有摆脱阴谋集团的地狱,因为我现在必须处理:
cabal: At least the following dependencies are missing: aeson -any, json-schema -any, monad-logger -any, mtl -any, persistent -any, persistent-postgresql ==2.1.6, persistent-template -any, rest-core -any, rest-snap -any, snap-core -any, snap-server -any, text -any"
当我尝试执行 cabal build
更新:所需的依赖项列表已缩减为:
monad-logger, persistent, (阴谋集团安装程序的好名字。)
持久性postgresql == 2.1.6
'持久性模板
休息快照
卡芯
快照服务器
因此,除了 persistant-postgresql 之外,任何版本都可以使用。
更新 2:好消息,运行 sudo apt-get install libghc-zlib-dev
发现一个有趣的障碍。
按照此问题的其中一个答案中的建议进行尝试时:Question
安装 libghc-zlib-bindings-dev,安装正常,还有 libghc-zlib-dev。
zlib 是目前存在的依赖项。一旦安装进度将继续。
libghc-zlib-dev
安装尝试的当前警告:
warning: Please check that your locale settings:
LANGUAGE = (unset),
LC_ALL = (unset),
LANG = "en_US.UTF-8
are supported and installed on your system.
还有
perl: warning : Falling back to the standard locale ("C").
显示。
或许这可以帮助我们深入调查。
我们必须走出阴谋集团的地狱。
很确定这是插红旗的地方:
#include "zlib.h"
^
compilation terminated.
setup-Simple-Cabal-1.22.2.0-x86_64-linux-ghc-7.10.1: Missing dependency on > a
foreign library:
* Missing (or bad) header file: zlib.h
* Missing C library: z
伙计,我希望这个网站有自动 Ctrl - C Ctrl -V 格式,那该有多棒?
看起来你只是想构建一个包,问题是它有很多依赖项。
安装所有依赖项的最佳方法(因为 "build" 不像 "install" 不会找到为您安装所有依赖项的解决方案)只是(最好在沙箱中) 运行cabal install --dependencies-only
。这也将同时解决它们,而不是在可能做出不兼容的本地选择的情况下一个一个地解决...
试图在 Ubuntu 的 12.04 精确构建中穿越整个 Cabal 依赖地狱,但我进展缓慢。
我的第一个bash命令
cabal install --allow-newer
在一长串新包的底部产生以下消息:
cabal: The following packages are likely to be broken by the reinstalls: regex-posix-0.95.1 regex-compat-0.95.1 Use `--force-reinstalls` if you want to install anyway.
(注意:从来没有强制重新安装 运行。)
如何修复这些包并完成安装 cabal 的过程? 我必须留在 12.04 并且 cabal 已更新。
cabal install ad --reorder-goals
终于安装成功了。
然而我仍然没有摆脱阴谋集团的地狱,因为我现在必须处理:
cabal: At least the following dependencies are missing: aeson -any, json-schema -any, monad-logger -any, mtl -any, persistent -any, persistent-postgresql ==2.1.6, persistent-template -any, rest-core -any, rest-snap -any, snap-core -any, snap-server -any, text -any"
当我尝试执行 cabal build
更新:所需的依赖项列表已缩减为: monad-logger, persistent, (阴谋集团安装程序的好名字。) 持久性postgresql == 2.1.6 '持久性模板 休息快照 卡芯 快照服务器
因此,除了 persistant-postgresql 之外,任何版本都可以使用。
更新 2:好消息,运行 sudo apt-get install libghc-zlib-dev
发现一个有趣的障碍。
按照此问题的其中一个答案中的建议进行尝试时:Question
安装 libghc-zlib-bindings-dev,安装正常,还有 libghc-zlib-dev。
zlib 是目前存在的依赖项。一旦安装进度将继续。
libghc-zlib-dev
安装尝试的当前警告:
warning: Please check that your locale settings: LANGUAGE = (unset), LC_ALL = (unset), LANG = "en_US.UTF-8 are supported and installed on your system.
还有
perl: warning : Falling back to the standard locale ("C").
显示。
或许这可以帮助我们深入调查。
我们必须走出阴谋集团的地狱。
很确定这是插红旗的地方:
#include "zlib.h"
^
compilation terminated. setup-Simple-Cabal-1.22.2.0-x86_64-linux-ghc-7.10.1: Missing dependency on > a foreign library: * Missing (or bad) header file: zlib.h * Missing C library: z
伙计,我希望这个网站有自动 Ctrl - C Ctrl -V 格式,那该有多棒?
看起来你只是想构建一个包,问题是它有很多依赖项。
安装所有依赖项的最佳方法(因为 "build" 不像 "install" 不会找到为您安装所有依赖项的解决方案)只是(最好在沙箱中) 运行cabal install --dependencies-only
。这也将同时解决它们,而不是在可能做出不兼容的本地选择的情况下一个一个地解决...