2011-11-28 76 views
7

我指的是haskell readline library wrapperc readline library。下面如何在Mac OSX上安装haskell readline库?

cabal install readline输出:

$ 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 

我必须通过MacPorts的(使用sudo port install readline)安装在C readline库,但我仍然得到同样的错误尝试安装Haskell的readline库。

+0

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

+0

如果您安装'readline'与'端口',那么为什么你需要尝试安装'cabal'? – tekknolagi

+1

'readline' c库与端口一起安装,但我无法安装'readline' haskell库。我澄清了这个问题要明确。 –

回答

20

如果你使用MacPorts安装使用已安装文件的默认路径,可以尝试使用到哪里寻找C头文件和库:

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

更新2倍:我的机器上用GNU的Readline通过自制软件,而安装而不是MacPorts,它看起来像是Haskell readline库的configure脚本需要一些非标准标志来正确找到其方位。如果上述方法无效,试试这个:

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

谢谢,我得到它的工作。我使用命令:'sudo port install readline + universal'来安装readline,命令'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'来安装haskell readline库。 –

+0

当然;它需要有一个'configure'一旦运行就实际链接。更新以反映命令的最后一口 – acfoltzer

+9

readline公式只有桶,因此我必须添加完整路径到桶中,如下所示:'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 = - with-readline-includes =/usr/local/Cellar /readline/6.2.4/include/ --configure-option = - with-readline-libraries =/usr/local/Cellar/readline/6.2.4/lib /' – liborw

1

我在这里结束了http://fp.okeefecreations.com/2010/08/installing-haskell-bindings-to-readline.html按照顺序说明得到它的工作对我的readline的自制软件的安装。我必须做的唯一修改是调整路径中列出的readline的版本。

我知道这是一个acfoltzer的类似解决方案,但我没有代表添加评论,或者我只是不知道如何评论。 :)

+1

$ cabal install readline --configure-option = - with-readline-libraries =“/ usr/local/Cellar/readline/6.2.4/lib”--configure-option = - with-readline-includes =“ /usr/local/Cellar/readline/6.2.4/include“For latest –

+0

您的答案中的链接已损坏。 –