2016-06-27 16 views
0

私はHaskellには新人ですが、OpenGLのいくつかの実験を試してみたいと思います。 私が成功したのOpenGL、GLUTおよびその他のいくつかのパッケージをインストールしたが、私はGLUtilをインストールしようとすると、私は次のエラーを取得する:Cabal:GLUtilのインストールに失敗しました

Building GLUtil-0.9.0.1... 
Failed to install GLUtil-0.9.0.1 
Build log (C:\Users\David\AppData\Roaming\cabal\logs\GLUtil-0.9.0.1.log): 
Building GLUtil-0.9.0.1... 
Preprocessing library GLUtil-0.9.0.1... 
hpp: Couldn't open input file: -includeC:\Users\David\AppData\Local\Temp\ghc3236_0\ghc_2.h 
CallStack (from HasCallStack): 

error, called at src\Hpp\CmdLine.hs:89:0: error: 
    22 in hpp-0.3.0.0-61vdEFyxUJDaeEBxsHCsL:Hpp.CmdLine 
`hpp' failed in phase `C pre-processor'. (Exit code: 1) 
cabal: Leaving directory 'C:\Users\David\AppData\Local\Temp\cabal-tmp-6356\GLUtil-0.9.0.1' 
cabal: Error: some packages failed to install: 
GLUtil-0.9.0.1 failed during the building phase. The exception was: 
ExitFailure 1 

私はGLUtilとその依存関係の古いバージョンを使用してみましたが、それは常に同じに終了しました私は最終的にHaskell Platformをクリアして再インストールしました(私はサンドボックスについては知らなかった)。

1つ目のことは、-includeC:\Users\Dav...は、あたかも-includeC:\...の間にスペースがあるように見えますが、これを変更する方法はわかりません。 CmdLine.hsが見つかりませんでしたが、結果のないインターフェイスファイルCmdLine.hiだけが見つかりました。

これを解決する方法についてアドバイスがありますか?

答えて

0

-includeとファイル名の間にはスペースが必要です。

私はすでに前処理されて、あなたのために働く必要がありますGLUtil-0.9.0.1のバージョンを作成しました:それはあなたがGHC 7.10.x以降を使用していると仮定し

https://github.com/erantapaa/GLUtil-0.9.0.1-no-cpp

を。

  • ファイルJuicyTextures.hsとShaderProgram.hsだけGHCの古いバージョンのためのControl.Applicativeを含めるようにCPPを使用するので、私はこれらの行をコメントアウト:CPPへの依存を削除する

    手順でした。 LANGUAGEプラグマからCPPも削除してください。

  • Linear.hsはCPPを使用してコードを生成します。そして、ハッシュ(#)で始まる行を削除し、LANGUAGEプラグマからCPPを削除

    gcc -E - <Linear.hs> new-Linear.hs 
    

:あなたが前処理された出力を作成することができます。 GLUtil.cabal

  • コメントアウト/行削除:、

    if impl(ghc >= 7.10.1) 
        Build-depends:  hpp >= 0.3 && < 0.4 
        GHC-Options:  -pgmPhpp -optP--cpp -optP-P 
    else 
        Build-tools:  cpphs 
        GHC-Options:  -pgmPcpphs -optP--cpp -optP 
    
+0

これは完全に働いたありがとう!私がまだ抱いている唯一の疑問は、 'include 'の後にスペースがないことがどうして起こったかということです。 – Casey

+0

わかりません。今はWindowsシステムをデバッグすることができません。 – ErikR

関連する問題