Comment installer Haskell Platform for Ubuntu 13.04?

Comment installer Haskell Platform for Ubuntu 13.04? Le message d’erreur suivant s’affiche lorsque je tape sudo apt-get install haskell-platform :

 E: Unable to locate package haskell-platform error 

    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 dynamicment lié à /usr/lib/libgmp.so.3, qui n’est pas disponible sur Raring et qui contient 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 comstackr GHC 7.6.3 à partir des sources (GHC est un compilateur auto-hébergé, il a donc besoin de GHC pour le comstackr):

     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 

    Comstackr 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 sumil 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 

    Comstackr 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.

    Le repo 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 des sources.

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

    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 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:

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

    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 cela aide.

    sudo apt-get install ghc

    GHC signifie Glasgow Haskell Comstackr

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