Я пытаюсь использовать cabal, чтобы установить какой-то пакет, но я получаю сообщение об ошибке, например:

Resolving dependencies...
[1 of 1] Compiling Main             ( /var/folders/qA/qAV3z3wUGnOKfufb0vx2N++++TI/-Tmp-/HUnit-1.2.4.229829/HUnit-1.2.4.2/Setup.hs, /var/folders/qA/qAV3z3wUGnOKfufb0vx2N++++TI/-Tmp-/HUnit-1.2.4.229829/HUnit-1.2.4.2/dist/setup/Main.o )

/var/folders/qA/qAV3z3wUGnOKfufb0vx2N++++TI/-Tmp-/HUnit-1.2.4.229829/HUnit-1.2.4.2/Setup.hs:6:1:
    Warning: In the use of `runTests'
             (imported from Distribution.Simple, but defined in Distribution.Simple.UserHooks):
             Deprecated: "Please use the new testing interface instead!"
Linking /var/folders/qA/qAV3z3wUGnOKfufb0vx2N++++TI/-Tmp-/HUnit-1.2.4.229829/HUnit-1.2.4.2/dist/setup/setup ...
ld: unknown option: -no_pie
collect2: ld returned 1 exit status
[1 of 1] Compiling Main             ( /var/folders/qA/qAV3z3wUGnOKfufb0vx2N++++TI/-Tmp-/syb-0.3.629829/syb-0.3.6/Setup.hs, /var/folders/qA/qAV3z3wUGnOKfufb0vx2N++++TI/-Tmp-/syb-0.3.629829/syb-0.3.6/dist/setup/Main.o )

/var/folders/qA/qAV3z3wUGnOKfufb0vx2N++++TI/-Tmp-/syb-0.3.629829/syb-0.3.6/Setup.hs:4:30:
    Warning: In the use of `runTests'
             (imported from Distribution.Simple, but defined in Distribution.Simple.UserHooks):
             Deprecated: "Please use the new testing interface instead!"
Linking /var/folders/qA/qAV3z3wUGnOKfufb0vx2N++++TI/-Tmp-/syb-0.3.629829/syb-0.3.6/dist/setup/setup ...
ld: unknown option: -no_pie
collect2: ld returned 1 exit status
cabal: Error: some packages failed to install:
Crypto-4.2.4 depends on HUnit-1.2.4.2 which failed to install.
HUnit-1.2.4.2 failed during the configure step. The exception was:
ExitFailure 1
aeson-0.4.0.1 depends on syb-0.3.6 which failed to install.
snap-0.7 depends on syb-0.3.6 which failed to install.
snap-core-0.7.0.1 depends on HUnit-1.2.4.2 which failed to install.
snap-server-0.7.0.1 depends on HUnit-1.2.4.2 which failed to install.
syb-0.3.6 failed during the configure step. The exception was:
ExitFailure 1

У кого-нибудь было что-то подобное?

7
Édipo Féderle 31 Дек 2011 в 16:08
Я думаю, что проблема связана с командой: ld: unknown option:-no_pie
 – 
Édipo Féderle
31 Дек 2011 в 16:52
1
Какие версии GHC и Cabal-install вы используете? Базовая ошибка заключается в том, что HUnit не устанавливается, но HUnit — очень стабильный пакет (он зависит только от Base, насколько я знаю, не использует FFI, вся версия на Hackage скомпилирована), поэтому у вас действительно должна быть проблема. установка его.
 – 
stephen tetley
31 Дек 2011 в 18:45
Можете ли вы вставить результат запуска ld -v на свой терминал?
 – 
acfoltzer
31 Дек 2011 в 21:22

1 ответ

Похоже, что Leopard на время избавился от no-pie: http://trac.macports.org /билет/34064

Насколько я могу судить, либо он был восстановлен, либо GHC добавил обходной путь, либо и то, и другое.

Как указано в комментариях к GHC - Mac OS X - ld: unknown option: -no_pie, обновление xcode/ld до более новой версии версии включает флаг

1
Community 23 Май 2017 в 15:27