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
freeglut
orを同じ方法で使用してみmesa
ましたが、これらのどれも (またはすべて一緒に) も機能しませんでした。
私は何が欠けていますか?
この質問は関連していますが、役に立ちません: nixos + haskell + opengl (前提条件)
解決策:スタックに切り替えると、すべてが機能します。