如何为 Ubuntu 13.04 安装 Haskell 平台?

wul*_*eak 38 haskell 13.04

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

E: Unable to locate package haskell-platform error 
Run Code Online (Sandbox Code Playgroud)

Ala*_*Dea 39

Raring 陷入了对 Haskell Platform 2012.4.0.0 来说太新和对 2013.2.0.0 来说太旧的 GHC 之间的一个山谷。这个山谷可以用一些疼痛和胶带来弥补。

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

首先,安装 GHC 7.6.2:

sudo apt-get install ghc
Run Code Online (Sandbox Code Playgroud)

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

警告:

您可能认为从 GHC 的 unknown-linux 存档安装会起作用。不会。这些档案中的 GHC 与/usr/lib/libgmp.so.3动态链接,这在具有libgmp.so.10 的 Raring上不可用。不要试图将这个库符号链接到它的早期版本的名称和位置来伪造链接器。我去了那里,这是一条通往非常混乱的失败之路,也是一种非常 糟糕的做法,所以我改过自新并从源代码构建了 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
Run Code Online (Sandbox Code Playgroud)

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

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

make -j 8
Run Code Online (Sandbox Code Playgroud)

在上述步骤中利用多核 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
Run Code Online (Sandbox Code Playgroud)

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

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

  • 在全新安装的 ubuntu 13.04 上,我必须安装 `libncurses5-dev` 包才能使安装工作。=) (4认同)
  • 只是为了不要吓跑人们:在我 5 岁的台式机上构建 `ghc-7.6.3` 大约需要 2.5 小时,而在现代 i7 台式机上 - 大约 20 分钟。Haskell 平台几乎是即时构建的。所有结果都带有`make -j8`。 (3认同)

su-*_*su- 8

Ubuntu 13.04 存储库包含 GHC 7.6.2,不幸的是还没有用于 GHC 7.6.x 的 Haskell 平台。所以你现在最好从源代码构建一个早期版本的 GHC(即 7.4.x)和 Haskell 平台。

有关更多信息,请参阅:https : //launchpad.net/ubuntu/raring/i386/haskell-platform

  • 有人想知道为什么,知道还没有包括 GHC 7.6 的平台版本,他们选择发布 GHC 7.6,从而破坏了很多人的 Haskell 开发。 (5认同)

小智 6

正如上面Alain O'Dea的出色回答一样,这个问题并不容易解决,同时 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
Run Code Online (Sandbox Code Playgroud)

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

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

关于这一点:

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

Launchpad 上有一个关于所有这些的错误,但并没有引起太多关注。如果您登陆此页面,请访问此页面并将其标记为对您有影响,因为 Ubuntu 13.04 的 Haskell 软件包已被处理:

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

希望一个 mod 会接受这个答案并将其变成它所属的评论。抱歉 - 我只是在 askubuntu 上还没有声誉!


the*_*eye 0

sudo apt-get install ghc

GHC 代表 格拉斯哥哈斯克尔编译器

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

  • GHC 与 Haskell 平台不同,Haskell 平台是特定库的特定版本以及特定版本的编译器的集合。 (6认同)
  • 你提供的新信息为零。 (2认同)