0

Haskell用のGDライブラリをcabalを使用してWindowsにインストールしようとしていますが、GCCから次のエラーが発生します。

依存関係を解決しています...
gd-3000.6.1の構成...
前処理ライブラリgd-3000.6.1..。
gd-3000.6.1の構築..。
[1/4] Graphics.GD.Internalのコンパイル(dist \ build \ Graphics \ GD \ Internal.hs、dist \ build \ Graphics \ GD \ Internal.o)
[2/4] Graphics.GD.ByteString.Lazyのコンパイル(Graphics \ GD \ ByteString \ Lazy.hs、dist \ build \ Graphics \ GD \ ByteString \ Lazy.o)
[3/4] Graphics.GD.ByteStringのコンパイル(Graphics \ GD \ ByteString.hs、dist \ build \ Graphics \ GD \ ByteString.o)
[4/4] Graphics.GDのコンパイル(dist \ build \ Graphics \ GD.hs、dist \ build \ Graphics \ GD.o)cbits \ gd-extras.c:関数 `gdImagePtrDestroyIfNotNull':

cbits \ gd-extras.c:10:0:
     内部コンパイラエラー:rest_of_handle_final、toplev.c:2067
完全なバグレポートを提出してください、
必要に応じて、前処理されたソースを使用します。
手順については、<URL:http://www.mingw.org/bugs.shtml>を参照してください。
cabal:エラー:一部のパッケージのインストールに失敗しました:
gd-3000.6.1は、構築フェーズ中に失敗しました。例外は次のとおりです。
ExitFailure 1

「rest_of_handle_finaltoplev.c2067」をグーグルで検索すると、他のライブラリとの同様の問題でいくつかのヒットが発生し、GCCバグ#23589へのリンクが表示されます。最新のHaskellPlatformfor Windows(2010.2.0.0)にはGHC6.12.3とgcc3.4.5が付属していますが、どうすればこれを回避できますか?どういうわけか、cabalに新しいバージョンのgccを使用させることはできますか(MinGW経由でgcc 4.5.2を使用しています)、それでも役立ちますか?

誰かがWindowsでGDライブラリを正常にコンパイルした場合は、いくつかのヒントを使用できます。

4

1 に答える 1

1

3つの可能な解決策、あなたが気に入らないかもしれないいくつか:

  1. を使用cabal install --with-gcc=...して、目的のgccを選択します。
  2. 新しいgccを備えている可能性のある最新のHaskellプラットフォームを使用してください(ページには記載されていません)。
  3. パッケージマネージャーを備えたオペレーティングシステムを使用して、HaskellコンパイラーがCコンパイラーと緊密に結合されていることに依存しないようにします。Cコンパイラーは更新する傾向がほとんどない可能性があります。
于 2011-03-17T01:46:09.420 に答える