首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >cabal安装bnfc缺少目录

cabal安装bnfc缺少目录
EN

Stack Overflow用户
提问于 2013-11-16 00:14:33
回答 1查看 393关注 0票数 0

我是Haskell的新手,正在尝试为编译器构造类编写程序。

我在我的ubuntu 13.10上安装了haskell-platform包,然后(在安装haskell平台后没有打乱任何东西)尝试运行以下命令:

代码语言:javascript
复制
$ sudo cabal install bnfc

其结果是:

代码语言:javascript
复制
Resolving dependencies...
Configuring BNFC-2.6.0.3...
cabal: The following installed packages are broken because other packages they
depend on are missing. These broken packages must be rebuilt before they can
be used.
package process-1.1.0.2 is broken due to missing package
directory-1.2.0.1-508733a890139bbedb8aa76468431462
Failed to install BNFC-2.6.0.3
cabal: Error: some packages failed to install:
BNFC-2.6.0.3 failed during the configure step. The exception was:
ExitFailure 1

当我尝试安装包目录时,它告诉我包已经安装了。有人能帮上忙吗?

EN

回答 1

Stack Overflow用户

发布于 2013-11-16 02:30:28

我也在使用带有haskell平台包的Ubuntu13.10,并且为我安装了bnfc。

有几件事你可以检查一下...

  1. 不要在cabal安装中使用sudo (默认情况下,cabal会在您自己的主目录中安装软件包,使用sudo可能会因为给出错误的文件所有权,或者尝试将文件放入/root中,甚至覆盖/usr内容而造成麻烦)
  2. 重命名~/.cabal/和~/.ghc/,并通过运行"cabal update“来重建它们(在移动后,您可能需要从移动的位置重新添加~/.cabal/bin/cabal )。这些包包含已安装的软件包及其信息...由于您有一个新的普通安装,这些基本上应该是空的,尽管其中的元信息可能是损坏的。(如果出于某种原因,这使情况变得更糟,您可以随时恢复原始目录...如果解决了此问题,您可以删除原始的.cabal和.ghc)
  3. 您可以通过执行以下操作来获取有关未安装软件包的原因的详细信息

cabal解压bnfc #这将下载并解压缩源代码cd BNFC-2.6.0.3 #进入新创建的源目录cabal configure #这将检查所有系统依赖项是否满足cabal build #这将构建软件包cabal install #这将在~/.cabal/中安装软件包

(如果不满足依赖项,您可能必须迭代到另一个包)

我认为2.可能会解决您的问题,因为您显示的错误消息暗示构建过程挂起的是非常具体的目录包版本,而不是最新的版本。这在我身上发生过一次,清理.cabal为我解决了这个问题。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20005518

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档