Сборка библиотеки Haskell-GD в Windows

Я пытаюсь установить библиотеку GD для Haskell в Windows с помощью Cabal, но получаю следующая ошибка от GCC:

Resolving dependencies...
Configuring gd-3000.6.1...
Preprocessing library gd-3000.6.1...
Building gd-3000.6.1...
[1 of 4] Compiling Graphics.GD.Internal ( dist\build\Graphics\GD\Internal.hs, dist\build\Graphics\GD\Internal.o )
[2 of 4] Compiling Graphics.GD.ByteString.Lazy ( Graphics\GD\ByteString\Lazy.hs, dist\build\Graphics\GD\ByteString\Lazy.o )
[3 of 4] Compiling Graphics.GD.ByteString ( Graphics\GD\ByteString.hs, dist\build\Graphics\GD\ByteString.o )
[4 of 4] Compiling Graphics.GD      ( dist\build\Graphics\GD.hs, dist\build\Graphics\GD.o ) cbits\gd-extras.c: In function `gdImagePtrDestroyIfNotNull':

cbits\gd-extras.c:10:0:
     internal compiler error: in rest_of_handle_final, at toplev.c:2067
Please submit a full bug report,
with preprocessed source if appropriate.
See <URL:http://www.mingw.org/bugs.shtml> for instructions.
cabal: Error: some packages failed to install:
gd-3000.6.1 failed during the building phase. The exception was:
ExitFailure 1

При поиске в Google для "rest_of_handle_final toplev.c 2067" несколько обращений к аналогичным проблемам с другими библиотеками и ссылка на Ошибка GCC № 23589. Последняя платформа Haskell для Windows (2010.2.0.0) поставляется с GHC 6.12.3 и gcc 3.4.5, так как я могу это обойти? Могу ли я каким-то образом заставить Cabal использовать более новую версию gcc (у ​​меня gcc 4.5.2 через MinGW), и поможет ли это?

Если кто-то успешно скомпилировал библиотеку GD в Windows, я мог бы использовать несколько советов.


person shang    schedule 13.03.2011    source источник
comment
Вы пробовали HP 2011.2, которая на данный момент является последней?   -  person Thomas M. DuBuisson    schedule 17.03.2011


Ответы (1)


Три возможных решения, некоторые из которых могут вам не понравиться:

  1. Используйте cabal install --with-gcc=..., чтобы выбрать желаемый gcc.
  2. Используйте последнюю платформу Haskell, на которой может быть более новый gcc (на странице не сказано) .
  3. Используйте операционную систему с диспетчером пакетов, чтобы не зависеть от того, что компилятор Haskell тесно связан с компилятором C, который они, возможно, не захотят обновлять.
person Thomas M. DuBuisson    schedule 17.03.2011
comment
Что касается 2, Haskell Platform 2011.2 имеет GHC 7.0.2. Источник. - person jho; 22.03.2011