【问题标题】:Could not find module Prelude... dyn libraries for package base?找不到模块 Prelude... 软件包库的 dyn 库?
【发布时间】:2012-07-27 12:18:33
【问题描述】:

尝试遵循reducing haskell's binary question 的答案中建议的solution,当我使用--enable-shared 选项安装时,我不断收到错误消息:

> cabal install opengl --enable-shared --reinstall   
...
Could not find module `Prelude' 
Perhaps you haven't installed the "dyn" libraries for package `base'?

什么都试过了。我在 Ubuntu 12.04 64 位上使用 apt-get installedhaskell-platform(使用 ghc 7.4.1)。

有什么建议吗?

【问题讨论】:

    标签: haskell cabal


    【解决方案1】:

    Ubuntu 的 Haskell 平台好像不包含动态库。

    您可以尝试安装ghc-dynamic,这应该可以,我假设发行版打包者知道他们在做什么。您可能还需要为平台中包含的多个库安装 *-dynamic 包。

    如果它不起作用,我能提出的唯一建议是自己从源代码编译 GHC(使用已安装的 GHC),或者使用带有动态库的 vanilla GHC bindist,就我而言知道。

    不过,两者都需要重新安装(包括重新编译)库(也许最好从源代码编译 vanilla platform),所以我建议先尝试分发包。

    【讨论】:

    • Debian(因此是 Ubuntu)目前仅提供 ghc 附带的库的动态版本,包括 base,为此安装 ghc-dynamic。所有其他库还没有动态版本。我们决定不这样做,因为升级后 ABI 破损的风险很高。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-12-18
    • 2017-03-21
    • 1970-01-01
    • 2021-11-16
    • 1970-01-01
    • 1970-01-01
    • 2018-02-07
    相关资源
    最近更新 更多