NixOS, Haskell, opengl: problemas con la construcción y ejecución de programas openGL
Estoy experimentando un problema con GL en NixOS: el problema parece ser antiguo, ¡pero todavía no hay una solución directa en 2017!
Estoy tratando de construir un programa Haskell usando elGloss
biblioteca. He instaladogloss
y todo lo que necesita usando elnix-shell -p mesa
y parece estar correctamente construido e instalado (usandocabal install
) Sin embargo si construyo el programa en el mismonix-shell
no funciona
$ nix-shell -p mesa_glu
[nix-shell:]$ ghc --make -O2 SnakePar.hs
Linking SnakePar ...
[nix-shell:]$ ./SnakePar
SnakePar: user error (unknown GLUT entry glutInit)
Mientras trabajaba fuera de unnix-shell
la etapa de enlace falla:
$ ghc --make -O2 SnakePar.hs
[1 of 1] Compiling Main ( SnakePar.hs, SnakePar.o )
Linking SnakePar ...
/nix/store/<hash>-binutils-2.27/bin/ld: cannot find -lGLU
/nix/store/<hash>-binutils-2.27/bin/ld: cannot find -lGL
collect2: error: ld returned 1 exit status
`cc' failed in phase `Linker'. (Exit code: 1)
Esto sucede a pesar de que he instalado manualmenteglu
biblioteca víanix-env -iA
.
$ nix-env -q
cabal-install-1.24.0.0
ghc-8.0.1
glu-9.0.0
He intentado usarfreeglut
omesa
de la misma manera, pero ninguno de estos (o incluso todos juntos) no funcionó.
¿Qué me estoy perdiendo?
Esta pregunta es relevante pero no ayuda:nixos + haskell + opengl (requisitos previos)
Solución: Después de cambiar a apilar todo funciona.