Haskell Platform for Ubuntu 13.04のインストール方法は? Sudo apt-get install haskell-platform
と入力すると、次のエラーが表示されます。
E: Unable to locate package haskell-platform error
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ができました。
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
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の評判がまだありません。
このスクリプト を使用しました。
#!/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はGlasgow Haskell Compilerの略です