ruby2.1.1安装时编译源码,readline.c出现错误

在Ubuntu 14.04系统上安装Ruby 2.1.1时遇到编译错误,主要问题集中在readline.c上。该错误在配置Ruby环境时出现,导致Ruby开发环境搭建受阻。通过这篇博客,作者记录了解决这一问题的过程。

系统是ubuntu14.04

因为之前实验室机子坏了需要重装,所以把ror重新配置了一遍,结果安装ruby2.1.1时碰到了老问题,又浪费了一段时间,所以用这篇博客记录下。

错误信息:

</pre><pre name="code" class="html">compiling readline.c
readline.c: In function 鈥業nit_readline鈥?
readline.c:1977:26: error: 鈥楩unction鈥?undeclared (first use in this function)
     rl_pre_input_hook = (Function *)readline_pre_input_hook;
                          ^
readline.c:1977:26: note: each undeclared identifier is reported only once for each function it appears in
readline.c:1977:36: error: expected expression before 鈥?鈥?token
     rl_pre_input_hook = (Function *)readline_pre_input_hook;
                                    ^
readline.c: At top level:
readline.c:634:1: warning: 鈥榬eadline_pre_input_hook鈥?defined but not used [-Wunused-function]
 readline_pre_input_hook(void)
 ^
make[2]: *** [readline.o] Error 1
make[2]: Leaving directory `/home/vm/Documents/ruby-2.1.1/ext/readline'
make[1]: *** [ext/readline/all] Error 2
make[1]: Leaving directory `/home/vm/Documents/ruby-2.1.1'
make: *** [build-ext] Error 2

解决方法参考 http://stackoverflow.com/questions/23488790/compile-ruby-2-0-errors-without-rvm-or-rbenv-readline-c188626-error-func

将下面的句子

rl_pre_input_hook = (Function *)readline_pre_input_hook;
修改为:

rl_pre_input_hook = (rl_hook_func_t *)readline_pre_input_hook;
重新编译,问题解决



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值