pagina oficial descargar linux haskell installation ghc

linux - oficial - install haskell



InstalaciĆ³n de binarios ghc en Linux(no se puede encontrar libgmp.so) (3)

Agregue /usr/local/lib y / o /usr/local/lib64 a $LD_LIBRARY_PATH , o agréguelas a /etc/ld.so.conf , o (dado que ya tiene /usr/lib64/libgmp.so.3 ) agregar un enlace simbólico perdido:

cd /usr/lib64 sudo ln -s libgmp.so.3 libgmp.so

(y quizás lo mismo para / usr / lib).

Tenga en cuenta que /usr/lib64/libgmp.so.3 podría ser una versión diferente de /usr/local/lib64/libgmp.so, asegúrese de que ghc se pueda utilizar realmente con el primero.

Intento instalar la plataforma Haskell en Linux por primera vez (también soy un usuario de Linux bastante nuevo). El sistema de la víctima es un nuevo sistema de Red Hat. Y todo lo que está involucrado aquí debería ser de 64 bits.

Las instrucciones en el sitio web de la plataforma [1] indican que necesito un ghc7.0.3 para enganchar cosas. Proporcionan un enlace a un binario genérico de ghc-7.0.3 para hacer esto. Cogí esto y corrí

$ ./configure ... $ make install ...

según las instrucciones sin incidente (es un binario, por lo que no se necesita compilación) Sin embargo, cuando traté de ejecutar ghci, obtuve el resultado.

$ ghci GHCi, version 7.0.3: http://www.haskell.org/ghc/ :? for help Loading package ghc-prim ... linking ... done. Loading package integer-gmp ... <command line>: can''t load .so/.DLL for: gmp (libgmp.so: cannot open shared object file: No such file or directory)

Por alguna razón, ghci no puede encontrar libgmp.so. Ejecutar ghci en última instancia invoca

/usr/local/lib/ghc-7.0.3/ghc

con un lío de opciones. Revisé las dependencias a través de ldd

$ ldd /usr/local/lib/ghc-7.0.3/ghc linux-vdso.so.1 => (0x00007fffe5f5c000) libncursesw.so.5 => /lib64/libncursesw.so.5 (0x0000003ee7000000) librt.so.1 => /lib64/librt.so.1 (0x0000003ee5800000) libutil.so.1 => /lib64/libutil.so.1 (0x0000003ef3000000) libdl.so.2 => /lib64/libdl.so.2 (0x0000003ee5000000) libgmp.so.3 => /usr/lib64/libgmp.so.3 (0x0000003ee4400000) libm.so.6 => /lib64/libm.so.6 (0x0000003ee4c00000) libpthread.so.0 => /lib64/libpthread.so.0 (0x0000003ee5400000) libc.so.6 => /lib64/libc.so.6 (0x0000003ee4800000) libtinfo.so.5 => /lib64/libtinfo.so.5 (0x0000003ef3400000) /lib64/ld-linux-x86-64.so.2 (0x0000003ee4000000)

y muestra que foud libgmp. libgmp está en / usr / local / lib y / usr / local / lib64. No estoy seguro de cómo llegar más lejos con esto. ¿Alguna sugerencia?

[1] http://hackage.haskell.org/platform/linux.html


No estoy seguro de que establecer el enlace simbólico de libgmp.so a libgmp.so.3 sea el camino correcto. ¿Qué ocurre cuando recibes una actualización de la versión y así libgmp.so.3 desaparece? Establecer LD_LIBRARY_PATH parece una mejor solución.

También hay otra solución para RedHat / CentOS y, por extensión, probablemente sea Fedora: instale el paquete gmp-devel. Esto configura el enlace simbólico anterior, pero lo hace con la distribución (por lo que las actualizaciones también deberían actualizar el enlace simbólico).


Instalar el paquete gmp-devel ayudado en mi caso (opensuse)