Похоже, ваш ghc настроен на 32-разрядную (i386
), а библиотека ncurses - 64-разрядная (x86-64
). Я считаю, что в самой последней платформе Haskell (2011.2.x.x) используется 64-разрядный GHC, тогда как в более ранних версиях использовался 32-разрядный GHC.
Если вы используете более раннюю версию HP, вероятно, для решения этой проблемы достаточно обновить ее до последней версии.
К сожалению, ghc не является нативным кросс-компилятором, и вы не можете установить архитектуру или размер слова с помощью флага. Вам нужен отдельный ghc для каждой архитектуры, которую вы хотите использовать, и вам также нужно убедиться, что все библиотеки, на которые вы ссылаетесь, соответствуют ему.
(Кстати, x86
недостаточно для различения архитектуры, поскольку она может относиться как к 32-битной, так и к 64-битной. Обычно это относится к 32-битной версии, но не всегда. По крайней мере, в OSX 10.6 с XCode 3, gcc отклоняет его как недопустимое значение для -march)