mac descargar compile macos haskell ghci snap-framework happstack

macos - descargar - Instalación de paquetes Haskell en Mac



install haskell brew (7)

Parece que no puedo instalar algunos paquetes Haskell en mi Mac (10.6.8). Primero probé Happstack y falló y luego probé Snap.

A veces cuando ejecuto ghci me sale una falla de segmentación.

Otras veces funciona y va así:

GHCi, version 7.4.2: http://www.haskell.org/ghc/ :? for help Loading package ghc-prim ... linking ... done. Loading package integer-gmp ... linking ... done. Loading package base ... linking ... done. Prelude>

Al tratar de obtener Snap:

.... .... .... Loading package vector-0.10.0.1 ... linking ... done. Loading package zlib-0.5.4.0 ... linking ... done. Loading package zlib-bindings-0.1.1.3 ... linking ... done. Loading package zlib-enum-0.2.3 ... linking ... done. Loading package snap-core-0.9.3.1 ... linking ... done. Loading package snap-server-0.9.3.3 ... linking ... done. Loading package directory-tree-0.11.0 ... linking ... done. cabal: Error: some packages failed to install: snap-0.11.2 failed during the building phase. The exception was: ExitFailure 11

He visto este problema varias veces, pero nada me lo resolvió realmente. ¿Algunas ideas?


¿Has intentado usar homebrew ? Maneja las dependencias por ti. Estoy en Mac OS X 10.7.5, pero estas instrucciones deberían funcionar para usted.

Usando homebrew, puedes instalar la plataforma haskell usando el comando brew. Tardará un rato. La etapa de compilación para haskell-plataforma tomó 15 minutos.

$ brew search haskell haskell-platform $ brew install haskell-platform ==> Installing haskell-platform dependency: ghc ==> Downloading https://downloads.sf.net/project/machomebrew/Bottles/ghc-7.4.2.lion.bottle.1.tar.gz ######################################################################## 100.0% ==> Pouring ghc-7.4.2.lion.bottle.1.tar.gz ==> Caveats This brew is for GHC only; you might also be interested in haskell-platform. ==> Summary 🍺 /usr/local/Cellar/ghc/7.4.2: 5176 files, 767M ==> Installing haskell-platform ==> Downloading http://lambda.haskell.org/platform/download/2012.4.0.0/haskell-platform-2012.4.0.0.tar.gz ######################################################################## 100.0% ==> ./configure --prefix=/usr/local/Cellar/haskell-platform/2012.4.0.0 --enable-unsupported-ghc-version ==> make install ==> Caveats Run `cabal update` to initialize the package list. If you are replacing a previous version of haskell-platform, you may want to unregister packages belonging to the old version. You can find broken packages using: ghc-pkg check --simple-output You can uninstall them using: ghc-pkg check --simple-output | xargs -n 1 ghc-pkg unregister --force ==> Summary 🍺 /usr/local/Cellar/haskell-platform/2012.4.0.0: 952 files, 208M, built in 15.3 minutes

Una vez instalado, deberías poder ejecutar:

$ ghc ghc: no input files Usage: For basic information, try the `--help'' option.

Además del intérprete de Haskell, ghci:

$ ghci GHCi, version 7.4.2: http://www.haskell.org/ghc/ :? for help Loading package ghc-prim ... linking ... done. Loading package integer-gmp ... linking ... done. Loading package base ... linking ... done. Prelude> putStrLn "Hello World" Hello World Prelude> Leaving GHCi.

¡Espero que esto ayude!


Como haskell-platform en homebrew para Mac está en desuso, puedes usar brew install ghc cabal-install lugar. Lo hice en Yosemite y tardé aproximadamente un minuto ...

> $ brew install ghc cabal-install ==> Downloading https://homebrew.bintray.com/bottles/ghc-7.10.1_1.yosemite.bottl ######################################################################## 100.0% ==> Pouring ghc-7.10.1_1.yosemite.bottle.tar.gz 🍺 /usr/local/Cellar/ghc/7.10.1_1: 5423 files, 821M ==> Downloading https://homebrew.bintray.com/bottles/cabal-install-1.22.2.0.yose ######################################################################## 100.0% ==> Pouring cabal-install-1.22.2.0.yosemite.bottle.1.tar.gz ==> Caveats Bash completion has been installed to: /usr/local/etc/bash_completion.d ==> Summary 🍺 /usr/local/Cellar/cabal-install/1.22.2.0: 6 files, 19M


Desafortunadamente, GHC 7.4 no es compatible con OS X 10.6; La página de descarga solo tiene un instalador para 10.7, y como pueden ver, lo dicen en serio. Sé que su problema se debe a la amarga experiencia: estuve exactamente en su bote durante mucho tiempo, y nunca encontré una solución que no fuera la actualización de Mac OS X (o, presumiblemente, la degradación de GHC, pero realmente no quería hacerlo) ). Un colega mío logró ejecutar 7.4.1 en OS X 10. 5 , pero tomó un esfuerzo no trivial por su parte (tuvo que usar una versión diferente de GMP, a saber, 5.0.5, y editar el script de configuración de GHC), Y nunca intenté replicarlo yo mismo.

Al final, tiene cuatro opciones, en orden de simplicidad aproximadamente decreciente:

  1. Utilice una plataforma Haskell más antigua . Esto significa bajar a GHC 7.0.x (no a GHC 7.2.x, que nunca estuvo en la Plataforma); Sin embargo, no hay un buen registro de qué versiones de GHC estaban en qué versiones de paquete. Wikipedia implica que 2011.2 fue la primera versión con GHC 7.0.x y que 2012.2 fue la primera versión con GHC 7.4.x, así que primero probaría 2011.4.0.0.
  2. Instale GHC 7.2 (que es compatible con OS X ) por su cuenta, y renuncie a la plataforma Haskell. Esto puede causar dolores de cabeza, pero es posible. No olvide instalar Cabal , Cabal , todos los paquetes que vienen con la plataforma, etc.
  3. Actualice a OS X 10.7 o 10.8, si cree que es un cambio más global (y más caro).
  4. Trate de replicar lo que hizo mi colega. (La mejor de las suertes, pero definitivamente es posible).

Esta es una pregunta antigua, pero dado que es bastante importante en la búsqueda de Google. Así es como llegué aquí.

$ brew update $ brew install haskell-stack $ stack --version $ stack --help # "man stack" gives something completely different $ stack setup # Install GHC $ stack ghci

Fuente: http://seanhess.github.io/2015/08/04/practical-haskell-getting-started.html

¿Por qué apilar y no caballar?

Editar:

Me pareció molesto tener que escribir "stack ghci" cada vez que quería usar "ghci". Una solución para esto fue simplemente agregar estas líneas al archivo ~ / .bash_aliases:

alias sghc=''stack ghc'' alias sghci=''stack ghci'' alias srunhaskell=''stack runhaskell''

Luego fuente el archivo para aplicar:

$ source ~/.bash_aliases

Luego puedo ejecutar ghci y / o haskell ejecutando estos comandos, y utilizará la versión de pila:

$ sghc [filename] $ sghci $ srunhaskell


Respuesta a finales de 2017. Estoy ejecutando macOS Sierra - 10.12.6 (16G29). Esto funcionó correctamente con un tiempo de instalación en mi MacBook Air de menos de cinco minutos:

brew cask install haskell-platform

Entonces ghc --version reportó:

El glorioso sistema de compilación Haskell de Glasgow, versión 8.2.1


brew install haskell-platform ya no es compatible Es posible que desee

Error: No hay fórmula disponible para la plataforma haskell
Ya no empaquetamos la plataforma haskell. Considere instalar ghc y cabal-install en su lugar:
brew install ghc cabal-install


Actualización: febrero de 2016 : Si bien otras respuestas fueron útiles, no encontré una respuesta completa y actualizada.

La instalación es fácil:

$ brew install ghc cabal-install

Un paso adicional que necesitaba para realizar la postinstalación fue:

$ cabal update

seguido por:

$ cabal install ghc-mod

Vea here para más detalles.

Alternativamente, en lugar de usar homebrew para la instalación, visite Haskell Platform para obtener la imagen de disco del instalador; tenga en cuenta que Haskell Platform solo es compatible con OS X 10.6 y versiones posteriores.

Aunque, como regla general, siempre uso homebrew para administrar mis dependencias, cuando se trata de Haskell, mi recomendación (a menos que sepa realmente lo que está haciendo) es simplemente instalar este binario. Esto evita sorpresas en el futuro. Hay una excelente documentación de postinstalación localmente en: file: ///Library/Haskell/doc/start.html

La respuesta popular a esta pregunta (usar brew para instalar la plataforma haskell) ya no es compatible.