【问题标题】:Haskell: Cannot install OpenGL due to missing dependencies (which are already installed there)Haskell:由于缺少依赖项(已安装在那里),无法安装 OpenGL
【发布时间】:2012-02-13 23:52:28
【问题描述】:

我正在尝试手动安装 OpenGL-2.4.0.2 包,但是在我从 Hackage 下载压缩包并解压缩后,当我运行时

sudo runhaskell Setup.hs configure

我得到了这些:

Configuring OpenGL-2.4.0.2...
Setup.hs: At least the following dependencies are missing:
GLURaw >=1.1.0.0,
ObjectName -any,
OpenGLRaw >=1.1.0.0,
StateVar -any,
Tensor -any

但是我已经检查过我已经安装了这些:

GLURaw 1.1.0.1
ObjectName 1.0.0.0
OpenGLRaw 1.1.0.2
StateVar 1.0.0.0
Tensor 1.0.0.1

我已经尝试重新安装这些但无济于事。

我在 Ubuntu 11.04 下使用 GHC 7.2.1,cabal-install 0.8.0 和 Cabal 1.8.0.2。

感谢您的任何建议!

【问题讨论】:

  • 您正在配置为超级用户(为什么?)。您安装的“缺失”包是全局安装的,还是只是在用户包配置中,因此从超级用户的角度来看没有安装?
  • @ThomasM.DuBuisson:我尝试了使用 sudo 和不使用 sudo,但都没有成功。感谢您的关注:)
  • 但是你没有回答这个问题。 iirc(自从我安装 w/o cabal-install 以来已经有一段时间了)默认是全局数据库。如果您在本地安装了软件包,则需要通过 --user 标志明确指定本地软件包库。
  • @ThomasM.DuBuisson:谢谢!你和丹尼尔都是对的。我为我相当愚蠢的问题道歉,并且没有深入研究文档(或者没有“RTFM”)。
  • 不要对自己太苛刻,这两种方式有不同的默认值,这很令人困惑。

标签: opengl haskell ubuntu cabal hackage


【解决方案1】:

如果您使用 cabal-install(cabal 命令行程序)安装了依赖项,它们默认安装在用户 package-db 中。但是,当您使用runhaskell ./Setup.hs 方式安装包时,默认情况下会进行全局安装,因此无法使用来自用户数据库的包。尝试在 user-db 中安装包,

runhaskell ./Setup.hs configure --user

或重新安装全局数据库中的依赖项cabal install --global foo

【讨论】:

  • @ZiyaoWei:你也可以只在那个目录下做“cabal configure”等,而不是直接使用“runhaskell Setup.hs”。
  • @ZiyaoWei,如果你不需要任何特殊的配置参数,甚至只是在那个目录中的cabal install
猜你喜欢
  • 1970-01-01
  • 2015-03-22
  • 1970-01-01
  • 2019-01-24
  • 1970-01-01
  • 1970-01-01
  • 2014-10-18
  • 2019-12-23
  • 2020-01-30
相关资源
最近更新 更多