2011-11-28 38 views
7

Tôi đang tham chiếu đến haskell readline library wrapper đến c readline library.Làm thế nào để bạn cài đặt thư viện readline haskell trên Mac OSX?

cabal install readline đầu ra dưới đây:

$ cabal install readline 
Resolving dependencies... 
Configuring readline-1.0.1.0... 
checking for gcc... gcc 
checking for C compiler default output file name... a.out 
checking whether the C compiler works... yes 
checking whether we are cross compiling... no 
checking for suffix of executables... 
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... no 
configure: error: readline not found, so this package cannot be built 
See `config.log' for more details. 
cabal: Error: some packages failed to install: 
readline-1.0.1.0 failed during the configure step. The exception was: 
ExitFailure 1 

Tôi có thư viện c readline cài đặt qua macports (sử dụng sudo port install readline), nhưng tôi vẫn nhận được lỗi tương tự khi cố gắng cài đặt các thư viện readline Haskell.

+0

http://www.haskell.org/cabal/FAQ.html – tekknolagi

+0

Nếu bạn đã cài đặt 'readline' với' port' thì tại sao bạn cần thử và cài đặt nó bằng 'cabal'? – tekknolagi

+1

Thư viện 'readline' c được cài đặt với cổng, nhưng tôi không thể cài đặt thư viện haskell' readline'. Tôi đã làm rõ câu hỏi để làm rõ điều đó. –

Trả lời

20

Nếu cài đặt MacPorts của bạn sử dụng các đường dẫn mặc định cho các tập tin cài đặt, hãy thử xác định nơi để tìm kiếm các tiêu đề C và thư viện:

cabal install readline --extra-include-dirs=/opt/local/include \ 
--extra-lib-dirs=/opt/local/lib 

Cập nhật 2x: Trên máy của tôi với GNU Readline cài đặt qua Homebrew thay so với MacPorts, có vẻ như tập lệnh configure cho thư viện Haskell readline cần một số cờ không chuẩn để tìm đúng vòng bi của nó. Nếu những điều trên không có tác dụng, hãy thử điều này:

cabal install readline --extra-include-dirs=/opt/local/include \ 
--extra-lib-dirs=/opt/local/lib \ 
--configure-option=--with-readline-includes=/opt/local/include \ 
--configure-option=--with-readline-libraries=/opt/local/lib 
+3

Cảm ơn, tôi đã làm việc đó. Tôi đã sử dụng lệnh: 'sudo port install readline + universal' để cài đặt readline và lệnh 'cabal install readline --extra-include-dirs =/opt/local/include --extra-lib-dirs =/opt/local/lib --configure-option = - with-readline-include =/opt/local/include --configure-option = - với-readline-libraries =/opt/local/lib' để cài đặt thư viện readline haskell. –

+0

Tất nhiên; nó cần phải có cả hai để thực sự liên kết với một khi 'cấu hình' đã chạy. Cập nhật để phản ánh phần cuối cùng của lệnh – acfoltzer

+9

Công thức readline chỉ là keg, do đó tôi phải thêm đường dẫn đầy đủ vào keg như sau: 'cabal install readline --extra-include-dirs =/usr/local/Cellar/readline /6.2.4/include/ --extra-lib-dirs =/usr/local/Cellar/readline/6.2.4/lib/--configure-option = - với-readline-include =/usr/local/Cellar /readline/6.2.4/include/ --configure-option = - với-readline-libraries =/usr/local/Cellar/readline/6.2.4/lib/' – liborw

1

Tôi đã thực hiện theo hướng dẫn tại đây http://fp.okeefecreations.com/2010/08/installing-haskell-bindings-to-readline.html để làm việc trên cài đặt homebrew của readline. Sửa đổi duy nhất tôi phải thực hiện là điều chỉnh phiên bản của readline được liệt kê trong đường dẫn.

Tôi biết đây là giải pháp tương tự cho acfoltzer nhưng tôi không có đại diện để thêm nhận xét ở đó hoặc tôi chỉ không thể tìm ra cách nhận xét. :)

+1

$ cabal install readline --configure-option = - with-readline-libraries = "/ usr/local/Cellar/readline/6.2.4/lib" --configure-option = - with-readline-include = " /usr/local/Cellar/readline/6.2.4/include "Đối với mới nhất –

+0

Liên kết trong câu trả lời của bạn bị hỏng. –

Các vấn đề liên quan