2016-02-21 2 views
1

Я выполнил инструкции по установке библиотеки gtk на Windows 8.1 x64 с использованием http://wiki.haskell.org/Gtk2Hs/Installation.Установка ошибки gtk2hs

Я установил MSYS2 и использовал его для загрузки и сборки gtk. Тогда я бежать:

cabal update // ok 

cabal install gtk2hs-buildtools // ok 

cabal install gtk // failed, 

cabal журналы:

  • glib.log

    Строительство бойкий-0.13.2.2 ...
    Препроцессирование библиотека бойкий-0.13.2.2 .. .
    dist \ build \ System \ Glib \ StoreValue_hsc_utils.o: StoreValue_hsc_utils.c :(. Text + 0x0): множественное определение `__debugbreak '
    dist \ build \ System \ Glib \ S toreValue_hsc_make.o: StoreValue_hsc_make.c :(текст + 0x0). первая определяется здесь
    collect2.exe: ошибка: л.д. возвращается 1 выход статус
    связывая расстояние \ сборки \ System \ Glib \ StoreValue_hsc_make.o не удалось (код выхода 1)
    команда была: C: \ Program Files \ Haskell Platform \ 7.10.3 \ mingw \ bin \ gcc.exe dist \ build \ System \ Glib \ StoreValue_hsc_make.o dist \ build \ System \ Glib \ StoreValue_hsc_utils.o -o \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ 7.10.3 \ utf8-string-1.0.1.1-L8eKHa7Iv9q7FVKUYW6u4b -LC: \ Program Files \ Haskell Platform \ 7.10.3 \ lib \ extralibs \ text-1.2.1.3 -LC: \ Program Files \ Haskell Platform \ 7.10.3 \ lib \ binar_3uXFWMoAGBg0xKP9MHKRwi -LC: \ Program Files \ Haskell Platform \ 7.10.3 \ lib \ conta_2C3ZI8RgPO2LBMidXKTvIU -LC: \ Program Files \ Ha skell Платформа \ 7.10.3 \ lib \ bytes_6VWy06pWzJq9evDvK2d4w6 -LC: \ Program Files \ Haskell Platform \ 7.10.3 \ lib \ deeps_6vMKxt5sPFR0XsbRWvvq59 -LC: \ Program Files \ Haskell Platform \ 7.10.3 \ lib \ array_67iodizgJQIIxYVTp4emlA -LC: \ Program Files \ Haskell Platform \ 7.10.3 \ lib \ base_HQfYBxpPvuw8OunzQu6JGM -lwsock32 -luser32 -lshell32 -LC: \ Program Files \ Haskell Platform \ 7.10.3 \ lib \ integ_2aU3IZNMF9a7mQ0OzsZ0dS -LC: \ Program Files \ Haskell Platform \ 7.10.3 \ lib \ ghcpr_8TmvWUcS1U1IKHT0levwg3 -lc: \ Program Files \ Haskell Platform \ 7.10.3 \ Lib/ртс -lm -lwsock32 -lgdi32 -lwinmm

  • build.log https://drive.google.com/file/d/0B9t961_0P4GbMWhhMklSMDlpRkE/view?usp=sharing
  • gtk2hs-
  • инструмент сборки https://drive.google.com/file/d/0B9t961_0P4GbdXpGT081V0hHeFE/view?usp=sharing
+1

Вы гарантировали это? После установки gtk2hs-buildtools убедитесь, что gtk2hsC2hs находится в каталоге, который находится на вашем% PATH% .'? И, пожалуйста, не публикуйте ссылки с изображениями, размещенными в другом месте. Попытайтесь сначала сузить свою проблему, а затем попытаться опубликовать небольшие журналы. – aribeiro

+0

'gtk2hsC2hs.exe' находится в каталоге, который находится на моем% PATH% –

+1

Ошибка говорит: «error: ld возвратил 1 статус выхода», но затем он говорит: «команда была: ... gcc.exe». gcc явно вызывает ld, что не получается. Если вы хотите знать, почему вам нужно выяснить, какую команду ld он выполняет (вам нужно передать -v в gcc, а также - cabal имеет поле 'cc-options'). Поскольку вы находитесь на окнах, а шаг ссылки терпит неудачу, вероятность 99% связана с одной из трех вещей: недостающие библиотеки, архитектура (x86 v i386), несоответствие в одном из многих возможных мест или команда 'ld' слишком длинна для окон ([8191 chars max] (https://support.microsoft.com/en-us/kb/830473)) – user2407038

ответ

0

Я страдаю от того же сообщения об ошибке за последние два дня, и , наконец, получил обход (хотя я использую win7 -x64).

Вам необходимо скачать glib отдельно от https://hackage.haskell.org/package/glib. Затем вам нужно настроить glib.cabal, как описано здесь: https://mail.haskell.org/pipermail/haskell-cafe/2015-October/121935.html (вы должны удалить CPP-вариант: «-D__attribute __ (A) =»)

Наконец, переключатель в вашей бойким директорию и запустите:

cabal install glib.cabal 

Это должно сработать. Возможно, вам придется выполнить те же действия с другими зависимостями gtk +.