Ошибка установки установки runhaskell

Я пытаюсь установить пакеты из Haskell Hackage с помощью Cabal.

В частности, я пытаюсь загрузить пакет блеска:

cabal install gloss

Приходит с этой ошибкой:

binary-0.7.1.0 failed during the building phase. 
The exception was:
ExitFailure 1
bmp-1.2.5.2 depends on binary-0.7.1.0 which failed to install.
gloss-1.8.1.1 depends on binary-0.7.1.0 which failed to install.

Я также пробовал двоичный файл-0.6.0.0. Поскольку установка Кабала не работает, я пытаюсь:

runhaskell Setup configure
runhaskell Setup build
runhaskell Setup install

... в каталоге пакета, и я получаю одну и ту же ошибку для каждого пакета:

Setup: Error: Could not find module: Data.Binary with any suffix: ["hi"] in 
the search path: ["dist/build"]

У меня также возникли проблемы с установкой новейшей версии Cabal.

  • Кабал-установить версию 1.16.0.2
  • используя версию 1.16.0 библиотеки Cabal
  • Система компиляции Glorious Glasgow Haskell, версия 7.6.3
  • Mac OSX 10.8 на MacBook Pro Retina

person samedson93    schedule 18.11.2013    source источник
comment
Какой пакет пытаетесь установить? Вы пробовали просто делать cabal install package-name?   -  person bheklilr    schedule 18.11.2013
comment
Правильный способ сделать это — ввести cabal install binary. Вам не нужно загружать пакет, чтобы сделать это, так как cabal автоматически загрузит его для вас.   -  person Gabriel Gonzalez    schedule 18.11.2013
comment
Я обновил свой вопрос. Я использовал установку Кабала в первую очередь.   -  person samedson93    schedule 18.11.2013
comment
Бинарный пакет не удается установить в последних версиях osx, потому что osx использует clang вместо gcc, а «gcc» обычно является просто символической ссылкой на clang. gcc используется на этапе препроцессора (haskell поддерживает c-подобные макросы), но clang не поддерживает все функции этапа препроцессора, которые поддерживает gcc. Чтобы узнать, является ли это вашей проблемой, введите «gcc» в терминале. Если где-то написано «лязг», то проблема в этом. Решение состоит в том, чтобы получить gcc и заменить символическую ссылку на gcc на настоящий gcc.   -  person user2407038    schedule 18.11.2013


Ответы (2)


Бинарный пакет не удается установить в последних версиях osx, потому что osx использует clang вместо gcc, а «gcc» обычно является просто символической ссылкой на clang. gcc используется на этапе препроцессора (haskell поддерживает c-подобные макросы), но clang не поддерживает все функции этапа препроцессора, которые поддерживает gcc.

Чтобы узнать, является ли это вашей проблемой, введите «gcc» в терминале. Если где-то написано «лязг», то проблема в этом.

Решение состоит в том, чтобы получить gcc и заменить символическую ссылку на gcc на настоящий gcc. Использование «runhaskell» по-прежнему будет иметь ту же проблему. По большей части вам никогда не следует пытаться устанавливать пакеты без кабалы, это, безусловно, самый простой способ.

person user2407038    schedule 18.11.2013
comment
Я установил gcc-4.8.2, но все еще получаю сообщение об ошибке. Как установить символическую ссылку на настоящий gcc вместо clang? Он все еще говорит «лязг», когда я пытаюсь использовать gcc в терминале (после сброса). Я все еще получаю ту же ошибку с кабалой для установки блеска. - person samedson93; 18.11.2013
comment
Удалите usr/bin/gcc (это просто символическая ссылка на clang) и создайте символическую ссылку из gcc-4.8.2 (где бы вы его ни установили) на usr/bin/gcc. Вы также можете настроить ghc для поиска в пользовательском каталоге, когда ему нужно вызвать gcc, но, на мой взгляд, этот способ проще. - person user2407038; 18.11.2013
comment
Просто примечание для других пользователей OS X: в моей системе /usr/bin/gcc не отображался как символическая ссылка, но это был clang, а не старый добрый gcc. У меня также был /usr/bin/clang, который, я думаю, был дубликатом. Я просто переименовал версию clang в «gcc-clang» на случай, если я захочу вернуть ее позже, и создал новую символическую ссылку с именем «gcc», которая указывала на мою установку gcc-4.7 из доморощенного. Snap и другие пакеты клики теперь устанавливаются нормально. - person Rab; 07.04.2014

Это не ответ.

Если вы загрузили пакет binary-0.7.1.0, вы можете сначала разархивировать его, зайти в эту папку и запустить

cabal configure
cabal build
cabal install

Должно быть больше error message, например номер строки, но я его не видел.

person eccstartup    schedule 18.11.2013