Как установить платформу Haskell для Ubuntu 13.04?

37

Как установить платформу Haskell для Ubuntu 13.04? Я получаю следующую ошибку при вводе sudo apt-get install haskell-platform :

E: Unable to locate package haskell-platform error 
    
задан wulfreak 27.04.2013 в 19:37
источник

5 ответов

38

Рэринг попадает в долину между слишком большим GHC для платформы Haskell 2012.4.0.0 и слишком старым для 2013.2.0.0. Эта долина может быть перекрыта некоторой болезнью и клейкой лентой.

Вы можете установить Haskell Platform 2013.2.0.0 из источника, если у вас уже установлен GHC. Это немного процесс, но он работает.

Сначала установите GHC 7.6.2:

sudo apt-get install ghc

Теперь вам нужен GHC 7.6.3, поскольку он является предварительным требованием для платформы Haskell Platform 2013.2.0.0.

  

ВНИМАНИЕ:

     

Возможно, вы думаете, что установка из архивов unknown-linux   GHC будет работать. Это не так. GHC в этих архивах динамически   связанный с /usr/lib/libgmp.so.3 , который недоступен в Raring   который имеет libgmp.so.10 . НЕ искушайтесь символизировать эту библиотеку   к его более ранней версии и местоположению, чтобы подделать компоновщик. я   пошел туда, и это путь к очень запутанным ошибкам и очень   плохая практика, поэтому я исправил свои пути и построил 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) для меня, поэтому это, вероятно, очень хорошее время для перерыва или сна. Он проходит три этапа (0, 1 и 2) построения компилятора, а затем создает следующий этап компилятора с созданным компилятором.

Чтобы ускорить процесс компиляции, вы можете использовать

make -j 8

на предыдущем шаге, чтобы использовать многоядерный процессор.

Затем создайте и постройте платформу 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 минут, так что это еще одно хорошее время для перерыва.

Теперь у вас должна быть рабочая платформа Haskell Platform 2013.2.0.0 с GHC 7.6.3, правильно связанная с libgmp.so.10.

    
ответ дан Alain O'Dea 04.07.2013 в 23:24
8

Ubuntu 13.04 repo содержит GHC 7.6.2, к сожалению, пока нет платформы Haskell для GHC 7.6.x. Таким образом, вам лучше сейчас построить версию GHC (т. Е. 7.4.x) и Haskell Platform из исходного источника.

Смотрите это для получения дополнительной информации: Ссылка

    
ответ дан su- 29.04.2013 в 06:47
6

Как отличный ответ от Alain O'Dea выше, эта проблема нелегко исправлена, и в тем не менее, для Ubuntu 13.04 нет платформы haskell-платформы.

Вы можете выбрать «подделку», установив пакеты в этом списке: Ссылка

Вот вам команда для этого:

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, но она не получает большого внимания. Пожалуйста, посетите это и отметьте его как влияющий на вас, если вы приземлились на этой странице, потому что пакеты Haskell Ubuntu 13.04 hosed:

Ссылка

Надеюсь, мода примет этот ответ и превратит его в комментарий, где он принадлежит. Извините, у меня просто нет репутации на askubuntu!

    
ответ дан bhilburn 06.08.2013 в 05:47
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

Надеюсь, что это поможет.

    
ответ дан Alessandro Buggin 01.10.2013 в 14:55
0

sudo apt-get install ghc

GHC означает компилятор Glasgow Haskell

Ссылка

    
ответ дан thefourtheye 27.04.2013 в 19:58