web-dev-qa-db-ja.com

Haskell Platform for Ubuntu 13.04のインストール方法は?

Haskell Platform for Ubuntu 13.04のインストール方法は? Sudo apt-get install haskell-platformと入力すると、次のエラーが表示されます。

E: Unable to locate package haskell-platform error 
37
wulfreak

Raringは、Haskell Platform 2012.4.0.0のGHCが新しすぎ、2013.2.0.0のGHCが古すぎるという谷間に陥ります。この谷は、痛みとダクトテープで埋めることができます。

GHCが既にインストールされている場合、ソースからHaskell Platform 2013.2.0.0をインストールできます。それは少しプロセスですが、動作します。

まず、GHC 7.6.2をインストールします。

Sudo apt-get install ghc

Haskell Platform 2013.2.0.0の前提条件であるGHC 7.6.3が必要になりました。

注意:

GHCのunknown-linuxアーカイブからインストールするとうまくいくと思うかもしれません。しません。これらのアーカイブのGHCは、/ usr/lib/libgmp.so.に対して動的にリンクされます。これは、libgmp.so.1を持つ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の半減期)ので、これは休憩や睡眠に最適な時間です。コンパイラーをビルドし、ビルドされたコンパイラーでコンパイラーの次のステージをビルドする3つのステージ(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分以上かかったので、今度は休憩の良い時間です。

これで、libgmp.so.10に対して正しくリンクされたGHC 7.6.3で動作するHaskell Platform 2013.2.0.0ができました。

38
Alain O'Dea

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

8
su-

Alain O'Dea 上記の詳細からの優れた答えとして、この問題は簡単に修正されず、その間Ubuntu 13.04で利用可能なhaskell-platformはありません。

次のリストにパッケージをインストールすることで、「偽造」することができます。 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

これに欠けている2つの項目は、明らかな理由から、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の評判がまだありません。

6
bhilburn

このスクリプト を使用しました。

#!/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

それが役に立てば幸い。

1

Sudo apt-get install ghc

GHCはGlasgow Haskell Compilerの略です

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

0
thefourtheye