I have just tried NixOS a week ago and I'm really happy with it, being 8-ears old Arch-user. If only I could manage this GL problem...
The problem seems to be old, but there is still no straightforward solution yet in 2017!
I'm trying to build a Haskell program using the
Gloss library. I have installed
gloss and everything it needs using the
nix-shell -p mesa and it seems to be properly build and istalled (using
cabal install). However if I build the program in the same
nix-shell it doesn't work:
$ nix-shell -p mesa_glu [nix-shell:]$ ghc --make -O2 SnakePar.hs Linking SnakePar ... [nix-shell:]$ ./SnakePar SnakePar: user error (unknown GLUT entry glutInit)
While working outside of a
nix-shell the linking stage failes:
$ 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)
Even though I have manually installed
glu library via
$ nix-env -q cabal-install-18.104.22.168 ghc-8.0.1 glu-9.0.0
I have tried using
mesa in the same manner, but none of these (or even all together) didn't work.
What am I missing?
This QA is relevant but it doesn't help: nixos + haskell + opengl (prerequisites)