es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Windows: gcc.exe falló en la fase del enlazador cuando se ejecutó el archivo Stack Run Rio Template.

Descargué e instalé Stack utilizando el instalador en Windows.

Luego trato de ejecutar:

$ stack new new-project rio
$ cd new-project
$ stack run

Esto lleva a este error:

“`
ADVERTENCIA: Ignorando los límites de minty en Win32 (>=2.13.1); usando Win32-2.6.2.1.
Motivo: confiar en la captura de instantánea sobre la información de dependencia del archivo Cabal.
Enlazando C:\sr\setup-exe-cache\x86<em>64-windows\tmp-Cabal-simple</em>Z6RU0evB<em>3.2.1.0</em>ghc-8.10.7.exe …
C://Users//Patrick//AppData//Local//Programs//stack//x86<em>64-windows//ghc-8.10.7//mingw//bin/ld.exe: C:\sr\setup-exe-src\setup-Z6RU0evB.o:falso:(.texto+0x232): referencia indefinida a <code>Cabalzm3zi0zi1zi0_DistributionziSimple_defaultMain_closure'
C://Users//Patrick//AppData//Local//Programs//stack//x86_64-windows//ghc-8.10.7//mingw//bin/ld.exe: C:\sr\setup-exe-src\setup-Z6RU0evB.o:falso:(.datos+0x178): referencia indefinida a</code>Cabalzm3zi0zi1zi0</em>DistributionziSimple<em>defaultMain</em>closure'
collect2.exe: error: ld retornó el estado de salida 1
<code>gcc.exe' falló en la fase</code>Enlazador'. (Código de salida: 1)

— Mientras se construye simple Setup.hs (desplácese hacia arriba para ver el error) utilizando:
C:\Users\Patrick\AppData\Local\Programs\stack\x86<em>64-windows\ghc-8.10.7\bin\ghc-8.10.7.exe -rtsopts -threaded -clear-package-db -global-package-db -hide-all-packages -package base -main-is StackSetupShim.mainOverride -package Cabal-3.2.1.0 C:\sr\setup-exe-src\setup-Z6RU0evB.hs C:\sr\setup-exe-src\setup-shim-Z6RU0evB.hs -o C:\sr\setup-exe-cache\x86</em>64-windows\tmp-Cabal-simple<em>Z6RU0evB</em>3.2.1.0_ghc-8.10.7.exe
“`

¿Cómo puedo resolverlo? Ni siquiera estoy seguro de cómo entender mejor el problema real.

Estoy trabajando con git bash.


Resolví la ADVERTENCIA editando stack.yaml. También intenté instalar pkg-config usando pacman en mingw como se indica en esta respuesta, pero el paquete no se encontró.

Tags:  , ,

Answer

  1. Avatar for davy.ai

    El mensaje de error que has recibido sugiere que hay un problema con el paquete Cabal, el cual es una dependencia de Stack. Aquí tienes algunas cosas que puedes probar para resolver el problema:

    1. Asegúrate de tener la última versión de Stack y Cabal instalada. Puedes actualizar Stack utilizando el siguiente comando:
      stack upgrade
      

      Para actualizar Cabal, puedes ejecutar:

      stack install cabal-install
      
    2. Borra la caché de Stack ejecutando:
      stack clean --full
      

      Esto eliminará cualquier archivo en caché y obligará a Stack a reconstruir todo desde cero.

    3. Si estás utilizando Git Bash en Windows, intenta ejecutar el símbolo del sistema como administrador y ejecuta Stack desde allí.

    4. Si ninguno de los métodos anteriores funciona, puedes intentar cambiar a una versión diferente de GHC editando tu archivo stack.yaml. Intenta utilizar una versión antigua de GHC para ver si eso resuelve el problema.

      resolver: lts-16.30
      compiler: ghc-8.8.4
      

    Si todo lo demás falla, podría ser útil desinstalar y volver a instalar tanto Stack como Cabal para asegurar una instalación limpia.

Comments are closed.