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ó.
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:
Para actualizar Cabal, puedes ejecutar:
Esto eliminará cualquier archivo en caché y obligará a Stack a reconstruir todo desde cero.
Si estás utilizando Git Bash en Windows, intenta ejecutar el símbolo del sistema como administrador y ejecuta Stack desde allí.
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.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.