【发布时间】:2013-06-26 01:33:14
【问题描述】:
我无法安装 eventmachine
好的,我知道这个问题已经问了很多了,但是到目前为止我没有找到任何解决方案对我有帮助。所以我在最后的手段上发布了这里。
我使用 windows 8 x64 使用ruby 2.0.0p195 (x64)(通过适用于 Windows 的 Ruby Installer 和适当的 Devkit 安装)
所以错误是
Gem::Installer::ExtensionBuildError: ERROR: Failed to build gem native extension
C:/Ruby200-x64/bin/ruby.exe extconf.rb
checking for main() in -lssl... no
checking for rb_trap_immediate in ruby.h,rubysig.h... no
checking for rb_thread_blocking_region()... yes
checking for inotify_init() in sys/inotify.h... no
checking for __NR_inotify_init in sys/syscall.h... no
checking for writev() in sys/uio.h... no
checking for rb_wait_for_single_fd()... yes
checking for rb_enable_interrupt()... no
checking for rb_time_new()... yes
checking for windows.h... yes
checking for winsock.h... yes
checking for main() in -lkernel32... yes
checking for main() in -lrpcrt4... yes
checking for main() in -lgdi32... yes
creating Makefile
make
generating rubyeventmachine-x64-mingw32.def
compiling binder.cpp
In file included from c:\users\btdy\downloads\devkit\mingw\bin\../lib/gcc/x86_64
-w64-mingw32/4.7.2/../../../../x86_64-w64-mingw32/include/process.h:12:0,
from c:/Ruby200-x64/include/ruby-2.0.0/ruby/win32.h:60,
from c:/Ruby200-x64/include/ruby-2.0.0/ruby/defines.h:153,
from c:/Ruby200-x64/include/ruby-2.0.0/ruby/ruby.h:70,
from c:/Ruby200-x64/include/ruby-2.0.0/ruby.h:33,
from em.h:24,
from project.h:150,
from binder.cpp:20:
c:\users\btdy\downloads\devkit\mingw\bin\../lib/gcc/x86_64-w64-mingw32/4.7.2/../
../../../x86_64-w64-mingw32/include/sys/types.h:68:16: error: conflicting declar
ation 'typedef _pid_t pid_t'
In file included from binder.cpp:20:0:
project.h:97:13: error: 'pid_t' has a previous declaration as 'typedef int pid_t
'
In file included from project.h:151:0,
from binder.cpp:20:
ed.h: In member function 'void EventableDescriptor::SetSocketInvalid()':
ed.h:43:40: warning: overflow in implicit constant conversion [-Woverflow]
make: *** [binder.o] Error 1
我尝试过的事情将 gem "eventmachine", "~> 1.0.3" 或 gem "eventmachine", "~> 1.0.0.beta.4.1" 放入我的 gemfile 并从 gemfile.lock 删除/修改 eventmachine
制作一个新的 testapp 并在那里安装 Eventmachine(失败)
我怀疑的事情我追踪了 eventmachine 的依赖项(可以在 Rubygems 上找到),我发现我也无法安装 bluecloth(显示更大的日志错误),我也无法安装 @ 987654322@(bluecloth 依赖)所以我认为它可能有一些相关性,也不能安装薄
任何信息都可以问
提前谢谢大家!!
【问题讨论】:
-
这看起来像是 github 上报告的问题。我能找到的最好的方法是尝试从 github 克隆最新的 eventmachine 并使用它进行构建:groups.google.com/forum/#!topic/rubyinstaller/uCHtdKuuOPY/…
-
@Casper 谢谢你,我会努力解决的:)
-
甚至像
Ruby 2.0.0-p247 (x64)这样的新版本也会受到这个问题的影响
标签: ruby eventmachine