2

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

构建原生扩展。这可能需要一段时间... 错误:安装 oversip 时出错:错误:无法构建 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â
4

1 回答 1

3

您似乎缺少ev.h来自libev的头文件。您必须安装软件包 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 。

于 2013-06-26T14:21:31.030 回答