Como instalar o Haskell Platform para Ubuntu 13.04?


37

Como instalar o Haskell Platform para Ubuntu 13.04? Eu recebo o seguinte erro quando digito sudo apt-get install haskell-platform:

E: Unable to locate package haskell-platform error 

você também pode encontrar askubuntu.com/questions/288201/... útil
hdgarrood

2
Por @HokieTux "Existe um bug no Launchpad para tudo isso, mas não está recebendo muita atenção. Por favor, visite-o e marque-o como afetando você se você chegou a esta página porque os pacotes Haskell do Ubuntu 13.04 são hospedados:" O link é: bugs.launchpad.net/ubuntu/+source/haskell-platform/+bug/1047678
Rafael S. Calsaverini

Isso foi corrigido na 13.10, portanto, a atualização é uma solução para quem pode atualizar.
Squidly 30/10/2013

Atualizando os FUBARs 13.04 (muitas das minhas tentativas anteriores de atualização falharam).
karatedog

Isso não foi corrigido na 13.10. Você não poderá apt-get install ghc, o que depende do GHC 4.8.1, enquanto o instalado e usado por muitas bibliotecas do Ubuntu é o 4.8.2. É o momento perfeito para migrar para o NixOS.
Polkovnikov.ph 24/01

Respostas:


38

Raring é encontrado em um vale entre ter um GHC novo demais para a Haskell Platform 2012.4.0.0 e antigo demais para 2013.2.0.0. Este vale pode ser atravessado com alguma dor e fita adesiva.

Você pode instalar a Haskell Platform 2013.2.0.0 a partir da fonte se o GHC já estiver instalado. É um pouco de processo, mas funciona.

Primeiro, instale o GHC 7.6.2:

sudo apt-get install ghc

Agora você precisa do GHC 7.6.3, pois é um pré-requisito para a Haskell Platform 2013.2.0.0.

CUIDADO:

Você pode pensar que a instalação a partir dos arquivos linux unknown do GHC funcionará. Não vai. O GHC nesses arquivos é vinculado dinamicamente a /usr/lib/libgmp.so.3, que não está disponível no Raring, que possui libgmp.so.10 . NÃO fique tentado a vincular esta biblioteca ao nome e ao local da versão anterior para falsificar o vinculador. Eu fui lá e é um caminho para falhas muito confusas e é uma prática muito ruim, por isso consertei meus caminhos e construí o GHC a partir da fonte.

Em seguida, você precisa obter e construir o GHC 7.6.3 a partir da fonte (o GHC é um compilador auto-hospedado, portanto, ele precisa do GHC para construí-lo):

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

A compilação do GHC levou um bom tempo (várias horas,> meia vida do isótopo de césio Cs-134m) para mim, portanto esse é provavelmente um bom momento para descansar ou dormir. Ele passa por três estágios (0, 1 e 2) de compilação do compilador e, em seguida, compilação do próximo estágio do compilador com o compilador que foi compilado.

Para acelerar o processo de compilação, você pode usar

make -j 8

na etapa acima para aproveitar a CPU multi-core.

Em seguida, obtenha e construa a Plataforma Haskell a partir do código-fonte (usarei 2013.2.0.0 como exemplo):

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

A compilação da plataforma Haskell demorou> 30 minutos para mim, então esse é outro bom momento para uma pausa.

Agora você deve ter uma Haskell Platform 2013.2.0.0 em funcionamento com o GHC 7.6.3 corretamente vinculada ao libgmp.so.10.


4
No ubuntu 13.04, em uma nova instalação, tive que instalar o libncurses5-devpacote para que a instalação funcionasse. =)
Felipe Almeida

11
Eu também precisava:sudo apt-get install libgl1-mesa-dev libglc-dev freeglut3-dev libedit-dev libglw1-mesa libglw1-mesa-dev
Rafael S. Calsaverini

posso excluir essas 2 pastas após a instalação do haskell?
Alan Coromano

Sim, você pode excluir as pastas após a instalação. Obrigado pelos comentários e edições pessoal. Coisa boa.
Alain O'Dea

3
Apenas para não assustar as pessoas: a construção ghc-7.6.3na minha área de trabalho de cinco anos levou cerca de 2,5 horas e na moderna área de trabalho i7 - cerca de 20 minutos. A plataforma Haskell está sendo construída quase instantaneamente. Todos os resultados estão com make -j8.
Michael Pankov

8

O repositório Ubuntu 13.04 contém o GHC 7.6.2, infelizmente ainda não existe a Plataforma Haskell para o GHC 7.6.x. Então é melhor criar uma versão mais antiga do GHC (ou seja, 7.4.x) e da Haskell Platform a partir da fonte por enquanto.

Veja isso para obter mais informações: https://launchpad.net/ubuntu/raring/i386/haskell-platform


5
É de se perguntar por que, sabendo que ainda não há um lançamento da plataforma, incluindo o GHC 7.6, eles escolheram enviar o GHC 7.6 e, assim, interromper o desenvolvimento do Haskell para muitas pessoas.
Matthew Walton

Você precisa discutir isso com os mantenedores de pacotes
Thorbjørn Ravn Andersen

6

Como a excelente resposta de Alain O'Dea acima detalha, esse problema não é facilmente resolvido e, enquanto isso, não há plataforma haskell disponível para o Ubuntu 13.04.

Você pode meio que 'fingir' instalando os pacotes nesta lista: http://packages.ubuntu.com/precise/haskell-platform

Aqui está um comando para fazer isso por você:

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

Os dois itens ausentes são os pacotes haskell-platform-doc e haskell-platform-prof, por razões óbvias.

Felizmente, os desenvolvedores do Ubuntu corrigem o problema de incompatibilidade em breve.

Nessa nota:

Além disso: infelizmente não tenho a reputação de deixar isso como um comentário neste site StackExchange, mas esse é o local mais apropriado.

Existe um bug no Launchpad para tudo isso, mas não está recebendo muita atenção. Por favor, visite isto e marque-o como afetando você se você chegou a esta página porque os pacotes Haskell do Ubuntu 13.04 são hospedados:

https://bugs.launchpad.net/ubuntu/+source/haskell-platform/+bug/1047678

Espero que um mod aceite essa resposta e faça um comentário, onde ele pertence. Desculpe - mas ainda não tenho reputação no askubuntu!


11
Vou colocar o rastreador de erros da barra de ativação como um dos principais comentários neste tópico. Eu acho que é importante que as pessoas que leem esta página vão lá e pressionem para que isso seja resolvido.
Rafael S. Calsaverini

1

Eu usei esse script .

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

Espero que ajude.


Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.