如何为Ubuntu 13.04安装Haskell平台?

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

 E: Unable to locate package haskell-platform error 

对于Haskell Platform 2012.4.0.0来说,GHC太新了,而2013.2.0.0太旧了,Raring陷入了困境。 这个山谷可以用一些疼痛和胶带桥接。

如果已安装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动态链接,在具有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 

编译GHC花了相当长的时间(几个小时,铯同位素Cs-134m的半衰期),所以这可能是rest或睡眠的好时机。 它经历了构建编译器的三个阶段(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分钟,所以这是rest的另一个好时机。

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

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

作为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 

由于显而易见的原因,缺少的两个项目是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上声名鹊起!

我用过这个脚本 。

 #!/bin/bash # Install needed developer libraries sudo apt-get install libgmp-dev zlib1g-dev libgl1-mesa-dev libglc-dev freeglut3-dev libedit-dev libglw1-mesa-dev libglw1-mesa # Remove old tmp folder sudo rm -r tmp mkdir tmp # Create symlink if necessary libgmp=/usr/lib/libgmp.so.3 if [ ! \( -e "$libgmp" \) ] then sudo ln -s /usr/lib/x86_64-linux-gnu/libgmp.so.10.0.5 $libgmp fi # Download the ghc output_ghc_archive="tmp/ghc-7.6.3.tar.bz2" output_ghc="tmp/ghc-7.6.3" url=http://www.haskell.org/ghc/dist/7.6.3/ghc-7.6.3-x86_64-unknown-linux.tar.bz2 wget $url -O $output_ghc_archive # Unpack and remove archive tar -xjvf $output_ghc_archive -C "tmp/" rm $output_ghc_archive # Configure and install cd $output_ghc ./configure sudo make install # Remove ghc installation files cd ../.. sudo rm -r $output_ghc # Download the haskell platform output_hp_archive="tmp/haskell-platform-2013.2.0.0.tar.gz" output_hp="tmp/haskell-platform-2013.2.0.0" url2=http://lambda.haskell.org/platform/download/2013.2.0.0/haskell-platform-2013.2.0.0.tar.gz wget $url2 -O $output_hp_archive # Unpack and remove archive tar -xzf $output_hp_archive -C "tmp/" rm $output_hp_archive # Configure and install cd $output_hp ./configure make sudo make install # Remove haskell platform installation files cd ../.. sudo rm -r $output_hp # Remove this tmp folder sudo rm -r tmp 

希望能帮助到你。

sudo apt-get install ghc

GHC代表格拉斯哥Haskell编译器

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