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


37

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

E: Unable to locate package haskell-platform error 

また、askubuntu.com / questions / 288201 /…が役立つ場合があります
hdgarrood

2
@HokieTuxによる「Launchpadにはこのすべてのバグがありますが、あまり注目されていません。Ubuntu13.04のHaskellパッケージがホース接続されているため、このページにアクセスした場合は、このページにアクセスして影響を与えてください:」リンク:bugs.launchpad.net/ubuntu/+source/haskell-platform/+bug/1047678
ラファエルS.カルサベリーニ

これは13.10で修正されているため、アップグレードはアップグレード可能なユーザー向けのソリューションです。
イカリー

FUBAR 13.04のアップグレード(以前のアップグレードの試みの多くが失敗したため)。
空手

これは13.10では修正されていません。あなたはすることができませんapt-get install ghcUbuntuのライブラリの多くでインストールして使用されるものが4.8.2である一方で、GHC 4.8.1に依存します。NixOSに移行する絶好のタイミングです。
polkovnikov.ph

回答:


38

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

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は、libgmp.so.10を持つRaringでは利用できない/usr/lib/libgmp.so.3に対して動的にリンクされます。リンカーを偽造するために、このライブラリを以前のバージョンの名前と場所にシンボリックリンクしようとしないでください。私はそこに行きましたが、それは非常に紛らわしい失敗への道であり、非常に 悪い習慣なので、私の方法を修正し、ソースから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ができました。


4
新規インストールのubuntu 13.04ではlibncurses5-dev、インストールを機能させるためにパッケージをインストールする必要がありました。=)
フェリペアルメイダ

1
私も必要:sudo apt-get install libgl1-mesa-dev libglc-dev freeglut3-dev libedit-dev libglw1-mesa libglw1-mesa-dev
ラファエルS.カルサヴェリーニ

haskellのインストール後にこれら2つのフォルダーを削除できますか?
アランコロマーノ

はい、インストール後にフォルダを削除できます。コメントと編集の人々に感謝します。いい物。
アランオディア

3
人々を怖がらせないためghc-7.6.3に、私の5年前のデスクトップでのビルドには約2.5時間かかり、最新のi7デスクトップでは約20分かかりました。Haskellプラットフォームはほぼ瞬時に構築されています。すべての結果はmake -j8です。
マイケルパンコフ14年

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


5
GHC 7.6を含むPlatformリリースがまだないことを知って、GHC 7.6を出荷することを選択し、多くの人々のHaskell開発を中断する理由を疑問に思います。
マシューウォルトン

あなたは、パッケージメンテナでこれを議論する必要がある
するThorbjörnRavnアンデルセン

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

これに欠けている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の評判がまだありません。


1
このスレッドの一番上のコメントとして、ランチパッドバグトラッカーを配置します。このページを読んだ人がそこに行き、これを解決するように圧力をかけることが重要だと思います。
ラファエルS.カルサヴェリーニ

1

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

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

それが役に立てば幸い。


弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.