NixOS の GL で問題が発生しています。問題は古いようですが、2017 年にはまだ簡単な解決策はありません。
Glossライブラリを使用してHaskellプログラムを構築しようとしています。glossを使用して必要なものをすべてインストールしましたnix-shell -p mesaが、適切にビルドおよびインストールされているようです (を使用cabal install)。ただし、同じプログラムをビルドしてnix-shellも機能しません。
$ nix-shell -p mesa_glu
[nix-shell:]$ ghc --make -O2 SnakePar.hs
Linking SnakePar ...
[nix-shell:]$ ./SnakePar
SnakePar: user error (unknown GLUT entry glutInit)
nix-shellリンクステージの外で作業している間、失敗します:
$ 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)
gluこれは、ライブラリを手動でインストールした場合でも発生しnix-env -iAます。
$ nix-env -q
cabal-install-1.24.0.0
ghc-8.0.1
glu-9.0.0
freeglutorを同じ方法で使用してみmesaましたが、これらのどれも (またはすべて一緒に) も機能しませんでした。
私は何が欠けていますか?
この質問は関連していますが、役に立ちません: nixos + haskell + opengl (前提条件)
解決策:スタックに切り替えると、すべてが機能します。