web-dev-qa-db-fra.com

Comment installer Haskell Platform for Ubuntu 13.04?

Comment installer Haskell Platform for Ubuntu 13.04? Je reçois le message d'erreur suivant lorsque je tape Sudo apt-get install haskell-platform:

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

Raring est pris dans une vallée entre avoir un GHC trop récent pour Haskell Platform 2012.4.0.0 et trop ancien pour 2013.2.0.0. Cette vallée peut être comblée par de la douleur et du ruban adhésif.

Vous pouvez installer Haskell Platform 2013.2.0.0 à partir du code source si GHC est déjà installé. C'est un peu un processus, mais ça fonctionne.

Tout d'abord, installez GHC 7.6.2:

Sudo apt-get install ghc

Vous avez maintenant besoin de GHC 7.6.3 car il s'agit d'une pré-requête pour Haskell Platform 2013.2.0.0.

MISE EN GARDE:

Vous pourriez penser que l'installation à partir des archives unknown-linux de GHC fonctionnera. Ça ne va pas. Le GHC dans ces archives est dynamiquement lié à /usr/lib/libgmp.so.3 qui n'est pas disponible sur Raring qui a libgmp.so.10 . Ne soyez PAS tenté de faire un lien symbolique entre cette bibliothèque et son nom et son emplacement dans la version précédente pour simuler l’éditeur de liens. J'y suis allé et c'est un chemin qui mène à des échecs très déroutants et c'est une () = très (très) mauvaise pratique, donc je me suis réparé et j'ai construit GHC à la source.

Ensuite, vous devez obtenir et compiler GHC 7.6.3 à partir des sources (GHC est un compilateur auto-hébergé, il a donc besoin de GHC pour le compiler):

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

Compiler GHC a pris un bon bout de temps (plusieurs heures, une demi-vie d’isotope Cs-134m de césium), c’est donc probablement un très bon moment pour faire une pause ou dormir. Il passe par trois étapes (0, 1 et 2) de la construction du compilateur, puis de la construction de la prochaine étape du compilateur avec le compilateur créé.

Pour accélérer le processus de compilation, vous pouvez utiliser

make -j 8

dans l'étape ci-dessus pour tirer parti du processeur multi-core.

Ensuite, récupérez et construisez la plate-forme Haskell à partir des sources (je vais utiliser 2013.2.0.0 à titre d'exemple):

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

Compiler la plate-forme Haskell a pris plus de 30 minutes pour moi, c’est donc un autre bon moment pour faire une pause.

Haskell Platform 2013.2.0.0 avec GHC 7.6.3 doit être correctement lié à libgmp.so.10.

38
Alain O'Dea

Le référentiel Ubuntu 13.04 contient GHC 7.6.2, malheureusement il n’existe pas encore de plate-forme Haskell pour GHC 7.6.x. Vous feriez donc mieux de créer une version plus ancienne de GHC (c'est-à-dire 7.4.x) et de Haskell Platform à partir de la source.

Voir ceci pour plus d'informations: https://launchpad.net/ubuntu/raring/i386/haskell-platform

8
su-

Comme l'excellente réponse de Alain O'Dea ci-dessus, ce problème n'est pas facilement résolu, et entre-temps, aucune plateforme haskell n'est disponible pour Ubuntu 13.04.

Vous pouvez en quelque sorte "simuler" en installant les paquetages dans cette liste: http://packages.ubuntu.com/precise/haskell-platform

Voici une commande pour le faire pour vous:

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

Les deux éléments manquants sont les packages haskell-platform-doc et haskell-platform-prof, pour des raisons évidentes.

Espérons que les développeurs Ubuntu corrigent bientôt le problème d’incompatibilité.

Sur cette note:

En outre: Je n'ai malheureusement pas la réputation de laisser cela comme un commentaire sur ce site StackExchange, mais c'est l'endroit le plus approprié.

Il y a un bogue sur Launchpad pour tout cela, mais il n’attire pas beaucoup d’attention. Veuillez visiter ceci et marquer comme affectant vous si vous avez atterri sur cette page parce que les paquets Haskell de Ubuntu 13.04 sont arrosés:

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

Si tout va bien, un mod prendra cette réponse et en fera un commentaire, comme il se doit. Désolé, je n'ai pas encore la réputation sur askubuntu!

6
bhilburn

J'ai utilisé ce 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

J'espère que ça aide.

1

Sudo apt-get install ghc

GHC signifie Glasgow Haskell Compiler

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

0
thefourtheye