Ошибка сборки с привязками Haskell GD - PullRequest
2 голосов
/ 28 апреля 2010

Я установил пакет GD (http://hackage.haskell.org/package/gd-3000.4.0), используя cabal. Когда я пытаюсь скомпилировать программу, использующую GD, я получаю сообщение об ошибке:

[mp262554@students:~/jpp/haskell]$ ghc gd.hs
compilation IS NOT required
gd.o: In function `sV8_info':
(.text+0x1bf): undefined reference to `gdzm3000zi4zi0_GraphicsziGD_saveJpegFile_closure'
gd.o: In function `sUY_info':
(.text+0x3be): undefined reference to `gdzm3000zi4zi0_GraphicsziGD_drawLine_closure'
gd.o: In function `sUI_info':
(.text+0x51a): undefined reference to `gdzm3000zi4zi0_GraphicsziGD_newImage_closure'
gd.o: In function `sUI_info':
(.text+0x6a5): undefined reference to `__stginit_gdzm3000zi4zi0_GraphicsziGD_'
gd.o: In function `sVc_srt':
(.data+0x34): undefined reference to `gdzm3000zi4zi0_GraphicsziGD_drawLine_closure'
gd.o: In function `sVc_srt':
(.data+0x38): undefined reference to `gdzm3000zi4zi0_GraphicsziGD_saveJpegFile_closure'
gd.o: In function `sUI_srt':
(.data+0x4c): undefined reference to `gdzm3000zi4zi0_GraphicsziGD_newImage_closure'
collect2: ld returned 1 exit status

Ответы [ 2 ]

2 голосов
/ 05 мая 2010

Пакет GD обеспечивает привязки к библиотеке GD, написанной на C. Вам необходимо связать библиотеку C с вашей программой. Попробуйте --make вариант GHC сначала:

 ghc --make gd.hs

GHC с --make должен автоматически определять зависимости и правильно связывать многомодульную программу. Вы также можете использовать опции -l и -L вручную.

0 голосов
/ 28 апреля 2010

Подобные сообщения могут указывать на то, что файлы на самом деле нуждаются в перекомпиляции. Попробуйте ghc -fforce-Recomp

...