Как я могу установить readline для Haskell под Cygwin? - PullRequest
3 голосов
/ 26 августа 2010

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

$ cabal install --extra-include-dirs="C:\no_spaces\cygwin\usr\include" --extra-lib-dirs="C:\no_spaces\cygwin\lib" readline
Resolving dependencies...
Configuring readline-1.0.1.0...
checking for gcc... gcc
checking for C compiler default output file name... a.exe
checking whether the C compiler works... yes
checking whether we are cross compiling... no
checking for suffix of executables... .exe
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
checking for GNUreadline.framework... checking for readline... no
checking for tputs in -lncurses... yes
checking for readline in -lreadline... yes
checking for rl_readline_version... yes
checking for rl_begin_undo_group... yes
checking for rl_erase_empty_line... yes
checking for rl_free_undo_list... yes
checking for rl_completion_word_break_hook in -lreadline... yes
configure: creating ./config.status
config.status: creating config.mk
config.status: creating readline.buildinfo
config.status: creating include/HsReadlineConfig.h
config.status: include/HsReadlineConfig.h is unchanged
cabal.exe: Missing dependencies on foreign libraries:
* Missing header file: HsReadline.h
* Missing C libraries: readline, ncurses
This problem can usually be solved by installing the system packages that
provide these libraries (you may need the "-dev" versions). If the libraries
are already installed but in a non-standard location then you can use the
flags --extra-include-dirs= and --extra-lib-dirs= to specify where they are.
cabal.exe: Error: some packages failed to install:
readline-1.0.1.0 failed during the configure step. The exception was:
ExitFailure 1

У меня есть readline.h и еще много чего, и, кажется, он их находит. Отсутствие HsReadline.h как проблемы кажется странным: разве это не та часть пакета, которую я пытаюсь установить?

Буду признателен за любые советы о том, как заставить это работать. Я потратил несколько дней, пытаясь заставить это работать, будь то gnuWin32 readline, MinGW или cygwin.

1 Ответ

1 голос
/ 24 сентября 2010

Я рискну предположить, что Cygwin выбрасывает путь в стиле DOS / Windows: "C: \ no_spaces \ cygwin \ usr \ include"

Попробуйте перейти к этим файлам в оболочке Cygwin. Вероятно, это будет выглядеть примерно так: "/ cygdrive / c / no_spaces / cygwin / usr / include"

Сообщение о HsReadline.h, вероятно, красная сельдь. Реальная проблема в том, что Cabal не может найти базовую библиотеку dev для компиляции.

...