在面向RHEL6的问题上安装Oversip

时间:2013-06-26 09:58:56

标签: ruby ruby-on-rails-3 gem

我正在尝试在RHEL 6上安装overip 1.3.3。但面对这些问题。谁能帮忙???我已经安装了ruby 1.9.3。

构建原生扩展。这可能需要一段时间...... 错误:安装溢出时出错:         错误:无法构建gem原生扩展。

/usr/local/rvm/rubies/ruby-1.9.3-p429/bin/ruby extconf.rb        
[ext/stud/extconf.rb] executing system command: tar -zxf stud.tar.gz
[ext/stud/extconf.rb] RbConfig::CONFIG['host_os'] returns "linux-gnu"
[ext/stud/extconf.rb] executing system command: make
*** extconf.rb failed ***

由于某种原因无法创建Makefile,可能缺少 必要的库和/或标题。检查mkmf.log文件以获取更多信息 细节。您可能需要配置选项。

Provided configuration options:
         --with-opt-dir
         --without-opt-dir
         --with-opt-include
         --without-opt-include=${opt-dir}/include
         --with-opt-lib
         --without-opt-lib=${opt-dir}/lib
         --with-make-prog
         --without-make-prog
         --srcdir=.
         --curdir
         --ruby=/usr/local/rvm/rubies/ruby-1.9.3-p429/bin/ruby
 extconf.rb:14:in `sys': [ext/stud/extconf.rb] system command `make' failed (Runt
         from extconf.rb:35:in `block (2 levels) in <main>'
         from extconf.rb:27:in `chdir'
         from extconf.rb:27:in `block in <main>'
         from extconf.rb:24:in `chdir'
         from extconf.rb:24:in `<main>'

Gem文件将保留在/usr/local/rvm/gems/ruby-1.9.3-p429/gems/over中 结果记录到/usr/local/rvm/gems/ruby-1.9.3-p429/gems/oversip-1.3.8/ext/stu

以下是几个日志:
    的 /root/gems/gems/oversip-1.3.8/thirdparty/stud/mkmf.log

"tar -zxf stud.tar.gz"
make
cc -O2 -g -std=c99 -fno-strict-aliasing -Wall -W -D_GNU_SOURCE -I/usr/local/include   -c -o stud.o stud.c
stud.c:60:16: error: ev.h: No such file or directory
stud.c:87: error: expected â=â, â,â, â;â, âasmâ or â__attribute__â before âlistenerâ
stud.c:130: error: expected specifier-qualifier-list before âev_ioâ
stud.c: In function âinfo_callbackâ:
stud.c:254: error: âproxystateâ has no member named âhandshakedâ
stud.c:255: error: âproxystateâ has no member named ârenegotiationâ
stud.c: At top level:
stud.c:731: error: expected declaration specifiers or â...â before âev_ioâ
stud.c: In function âsafe_enable_ioâ:
stud.c:732: error: âproxystateâ has no member named âwant_shutdownâ
stud.c:733: warning: implicit declaration of function âev_io_startâ
stud.c:733: error: âwâ undeclared (first use in this function)
stud.c:733: error: (Each undeclared identifier is reported only once
stud.c:733: error: for each function it appears in.)
stud.c: In function âshutdown_proxyâ:
stud.c:739: error: âproxystateâ has no member named âwant_shutdownâ
stud.c:740: warning: implicit declaration of function âev_io_stopâ
stud.c:740: error: âproxystateâ has no member named âev_w_sslâ
stud.c:741: error: âproxystateâ has no member named âev_r_sslâ
stud.c:742: error: âproxystateâ has no member named âev_w_handshakeâ

1 个答案:

答案 0 :(得分:3)

您似乎错过了来自libev的标头文件ev.h。您必须安装libev-devel软件包。

更新在RedHat系统上,文件ev.h处于“错误”位置,即/usr/include/libev/ev.h,因此您必须创建一个符号链接来构建gem:

ln -s /usr/include/libev/ev.h /usr/include/ev.h

这是一个将在发布OverSip版本1.4后修复的错误,请参阅此处:https://github.com/versatica/OverSIP/issues/23