2013-05-19 3 views
4

Я пытаюсь установить пакет haskell SDL-mixer с помощью «cabal install sdl-mixer». Когда я делаю так, это дает ошибкуОшибка компиляции Haskell SDL-mixer

Resolving dependencies... 
[1 of 1] Compiling Main    (/tmp/SDL-mixer-0.6.1-10381/SDL-mixer-0.6.1/Setup.lhs, /tmp/SDL-mixer-0.6.1-10381/SDL-mixer-0.6.1/dist/setup/Main.o) 
Linking /tmp/SDL-mixer-0.6.1-10381/SDL-mixer-0.6.1/dist/setup/setup ... 
Configuring SDL-mixer-0.6.1... 
configure: WARNING: unrecognized options: --with-compiler, --with-gcc 
checking for sdl-config... /usr/bin/sdl-config 
checking for gcc... gcc 
checking whether the C compiler works... no 
configure: error: in `/tmp/SDL-mixer-0.6.1-10381/SDL-mixer-0.6.1': 
configure: error: C compiler cannot create executables 
See `config.log' for more details. 
Failed to install SDL-mixer-0.6.1 
cabal: Error: some packages failed to install: 
SDL-mixer-0.6.1 failed during the configure step. The exception was: 
ExitFailure 77 

Если это имеет значение, я на Arch Linux. Как установить этот пакет?

+2

Пакет имеет 'configure' сценарий, который не признает' опцию --with-gcc'. Компилятор C (gcc), похоже, не работает для скрипта 'configure'. Вы можете попробовать установить переменную окружения 'CC',' $ export CC = "/ path/to/your/gcc" 'перед' cabal install'ing, но если опция '--with-gcc' не была передана вы, но автоматически добавляете 'cabal', это вряд ли поможет. Вы можете 'cabal unpack SDL-mixer', и в его каталоге запустите' cabal install -v2' (или, возможно, вам нужно '-v3'), чтобы получить командную строку' cabal' для 'configure'. Затем запустите его самостоятельно и посмотрите на 'config.log'. –

ответ

2

убедитесь, что вы установили libsdl-mixer в качестве необходимого условия.

+0

Я получил ту же ошибку, что и выше, на Linux Mint 16, и это сработало для меня. –

1

Получил те же симптомы в сети пакетов, на ubuntu 12.04. Это было вызвано/usr/bin/ld, являющимся золотом вместо ld.bfd. Передача --with-ld = ld.bfd, по-видимому, недостаточно для некоторых пакетов.

Обход:

mkdir /tmp/ld_override 

ln -s /usr/bin/ld.bfd /tmp/ld_override/ld 

PATH=/tmp/ld_override:$PATH cabal install ... 
+0

Я все еще не совсем уверен, что это делает, но я не могу сейчас поблагодарить вас за то, что 'cabal install cabal-install' работает на моей установке Ubuntu 12.04. – Zajn

Смежные вопросы