警告:

警告:

如何为 Ubuntu 13.04 安装 Haskell 平台?输入以下内容时出现以下错误sudo apt-get install haskell-platform

E: Unable to locate package haskell-platform error 

答案1

Raring 陷入了 GHC 对于 Haskell Platform 2012.4.0.0 来说太新,而对于 2013.2.0.0 来说又太旧的问题。这个难题可以通过一些努力和努力来解决。

如果已经安装了 GHC,则可以从源代码安装 Haskell Platform 2013.2.0.0。这个过程有点复杂,但确实有效。

首先,安装 GHC 7.6.2:

sudo apt-get install ghc

现在您需要 GHC 7.6.3,因为它是 Haskell Platform 2013.2.0.0 的先决条件。

警告:

您可能认为从 GHC 的 unknown-linux 档案库中安装会成功。但事实并非如此。这些档案库中的 GHC 是动态链接到/usr/lib/libgmp.so.3在 Raring 上不可用,库文件.so.10。不要试图将此库符号链接到其早期版本的名称和位置以欺骗链接器。我去过那里,这是一条非常令人困惑的失败之路,并且是非常 不好的做法,所以我改正了我的做法并从源代码构建了 GHC。

接下来,您需要从源代码获取并构建 GHC 7.6.3(GHC 是一个自托管编译器,因此需要 GHC 来构建它):

wget http://www.haskell.org/ghc/dist/7.6.3/ghc-7.6.3-src.tar.bz2
tar xjvf ghc-7.6.3-src.tar.bz2
cd ghc-7.6.3
./configure
make
sudo make install

编译 GHC 花了我很长时间(几个小时,> 铯同位素 Cs-134m 的半衰期),所以这可能是休息或睡觉的好时机。它经历了三个阶段(0、1 和 2),即构建编译器,然后使用构建的编译器构建编译器的下一阶段。

为了加快编译过程,你可以使用

make -j 8

在上述步骤中利用多核 CPU。

然后,从源代码获取并构建 Haskell 平台(我将使用 2013.2.0.0 作为示例):

wget http://lambda.haskell.org/platform/download/2013.2.0.0/haskell-platform-2013.2.0.0.tar.gz
tar xzvf haskell-platform-2013.2.0.0.tar.gz
cd haskell-platform-2013.2.0.0
./configure
make
sudo make install

编译 Haskell 平台对我来说花了超过 30 分钟的时间,所以这又是一个休息的好时机。

现在您应该有一个可以运行的 Haskell Platform 2013.2.0.0,其中 GHC 7.6.3 正确链接到 libgmp.so.10。

答案2

Ubuntu 13.04 repo 包含 GHC 7.6.2,遗憾的是目前还没有适用于 GHC 7.6.x 的 Haskell 平台。因此,您最好从源代码构建较早版本的 GHC(即 7.4.x)和 Haskell 平台。

请参阅此内容以了解更多信息:https://launchpad.net/ubuntu/raring/i386/haskell-platform

答案3

作为优秀的答案阿兰·奥迪亚上述详细信息,该问题不容易修复,同时 Ubuntu 13.04 没有可用的 haskell 平台。

您可以通过安装此列表中的软件包来“伪造”它: http://packages.ubuntu.com/precise/haskell-platform

下面是一个为您执行此操作的命令:

sudo apt-get install ghc alex cabal-install happy libghc-cgi-dev libghc-fgl-dev libghc-glut-dev libghc-haskell-src-dev libghc-html-dev libghc-http-dev libghc-hunit-dev libghc-mtl-dev libghc-network-dev libghc-opengl-dev libghc-parallel-dev libghc-parsec3-dev  libghc-quickcheck2-dev libghc-regex-base-dev libghc-regex-compat-dev  libghc-regex-posix-dev libghc-stm-dev libghc-syb-dev  libghc-text-dev  libghc-transformers-dev  libghc-xhtml-dev libghc-zlib-dev

由于显而易见的原因,其中缺少的两个项目是 haskell-platform-doc 和 haskell-platform-prof 包。

希望 Ubuntu 开发人员能尽快修复不兼容问题。

关于这一点:

此外: 不幸的是,我没有资格在这个 StackExchange 网站上发表评论,但那是最合适的地方。

Launchpad 上有一个 bug,但并没有引起太多关注。如果您访问了此页面,请访问此处并将其标记为对您有影响,因为 Ubuntu 13.04 的 Haskell 软件包受到了影响:

https://bugs.launchpad.net/ubuntu/+source/haskell-platform/+bug/1047678

希望版主能采纳这个答案,并将其变成评论,这是它应有的位置。抱歉 - 我还没有 askubuntu 上的声誉!

答案4

sudo apt-get install ghc

GHC 代表格拉斯哥 Haskell 编译器

http://en.wikipedia.org/wiki/Glasgow_Haskell_Compiler

相关内容