Comment installer Haskell Platform for Ubuntu 13.04?


37

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 

vous pourriez aussi trouver askubuntu.com/questions/288201/... utile
hdgarrood

2
Par @HokieTux "Il y a un bogue sur Launchpad pour tout cela, mais cela ne suscite pas beaucoup d'attention. Visitez ce site et marquez-le comme vous affectant si vous atterrissez sur cette page car les paquets Haskell d'Ubuntu 13.04 sont insensés:" Le lien est: bugs.launchpad.net/ubuntu/+source/haskell-platform/+bug/1047678
Rafael S. Calsaverini Le

Ceci est corrigé dans 13.10, la mise à niveau est donc une solution pour ceux qui peuvent effectuer la mise à niveau.
Squidly

Mise à niveau de FUBAR 13.04 (plusieurs de mes tentatives précédentes de mise à niveau ont échoué).
Karatéog

Ceci n'est pas corrigé dans 13.10. Vous ne pourrez pas apt-get install ghc, ce qui dépend de GHC 4.8.1, alors que celle installée et utilisée par beaucoup de bibliothèques Ubuntu est 4.8.2. C'est le moment idéal pour migrer vers NixOS.
polkovnikov.ph

Réponses:


38

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, indisponible sur Raring comportant 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 une très mauvaise pratique, j'ai donc corrigé mes erreurs et construit GHC à partir de 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 pas mal de temps (plusieurs heures,> une demi-vie d’isotope Cs-134m de césium), c’est donc probablement un très bon moment pour une pause ou un sommeil réparateur. Il passe par trois étapes (0, 1 et 2) de la création 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 pas moins 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.


4
Sur Ubuntu 13.04, lors d’une nouvelle installation, j’ai dû installer un libncurses5-devpaquet pour que l’installation fonctionne. =)
Felipe Almeida

1
J'avais aussi besoin de:sudo apt-get install libgl1-mesa-dev libglc-dev freeglut3-dev libedit-dev libglw1-mesa libglw1-mesa-dev
Rafael S. Calsaverini

puis-je supprimer ces 2 dossiers après l'installation de haskell?
Alan Coromano

Oui, vous pouvez supprimer les dossiers après l'installation. Merci pour les commentaires et les modifications des gens. Bon produit.
Alain O'Dea

3
Juste pour ne pas effrayer les gens: construire ghc-7.6.3sur mon ordinateur de bureau, vieux de cinq ans, a pris environ 2,5 heures, et sur un ordinateur de bureau i7 moderne, environ 20 minutes. La plate-forme Haskell se construit presque instantanément. Tous les résultats sont avec make -j8.
Michael Pankov

8

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.-à-d. 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


5
On se demande pourquoi, sachant qu’il n’ya pas encore de version de plate-forme incluant GHC 7.6, ils ont choisi d’expédier GHC 7.6 et d’interrompre ainsi le développement de Haskell pour un grand nombre de personnes.
Matthew Walton

Vous devez en discuter avec les responsables de l'emballage
Thorbjørn Ravn Andersen

6

Comme l'explique très bien 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 packages de 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:

De plus, je n'ai malheureusement pas la réputation de laisser cela en commentaire sur ce site StackExchange, mais c'est l'endroit le plus approprié.

Il y a un bug sur Launchpad pour tout cela, mais cela ne retient pas beaucoup l'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!


1
Je vais mettre le gestionnaire de bogues du tableau de bord en tant que commentaire principal dans ce fil. Je pense qu'il est important que les personnes qui lisent cette page se rendent là-bas et exercent des pressions pour que cela soit résolu.
Rafael S. Calsaverini

1

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.


En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.