2010-09-06 108 views
65

我无法在窗户上安装瘦身宝石。在构建本机扩展期间发生某些事情。无法在窗口上安装瘦身

是否有人面临同样的问题?

这里是堆栈跟踪:

>gem install thin --no-ri --no-rdoc 
Temporarily enhancing PATH to include DevKit... 
Building native extensions. This could take a while... 
ERROR: Error installing thin: 
     ERROR: Failed to build gem native extension. 

C:/Ruby/bin/ruby.exe extconf.rb 
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_thread_check_ints()... yes 
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 
checking for main() in -lssl... no 
creating Makefile 

make 
g++ -I. -IC:/Ruby/include/ruby-1.9.1/i386-mingw32 -I/C/Ruby/include/ruby-1.9.1/ruby/backward -I/C/Ru 
by/include/ruby-1.9.1 -I. -DBUILD_FOR_RUBY -DHAVE_RB_THREAD_BLOCKING_REGION -DHAVE_TBR -DHAVE_RB_THR 
EAD_CHECK_INTS -DHAVE_RB_TIME_NEW -DOS_WIN32 -DHAVE_WINDOWS_H -DHAVE_WINSOCK_H -DWITHOUT_SSL -DHAVE_ 
MAKE_PAIR -O3 -g -Wextra -Wno-unused-parameter -Wno-parentheses -Wpointer-arith -Wwrite-strings - 
Wno-missing-field-initializers -Wno-long-long -o binder.o -c binder.cpp 
In file included from project.h:137:0, 
       from binder.cpp:20: 
binder.h:35:34: warning: type qualifiers ignored on function return type 
In file included from project.h:138:0, 
       from binder.cpp:20: 
em.h:91:47: warning: type qualifiers ignored on function return type 
em.h:92:76: warning: type qualifiers ignored on function return type 
em.h:93:56: warning: type qualifiers ignored on function return type 
em.h:95:57: warning: type qualifiers ignored on function return type 
em.h:96:60: warning: type qualifiers ignored on function return type 
em.h:97:58: warning: type qualifiers ignored on function return type 
em.h:98:55: warning: type qualifiers ignored on function return type 
em.h:99:36: warning: type qualifiers ignored on function return type 
em.h:101:47: warning: type qualifiers ignored on function return type 
em.h:106:42: warning: type qualifiers ignored on function return type 
em.h:123:45: warning: type qualifiers ignored on function return type 
em.h:132:36: warning: type qualifiers ignored on function return type 
In file included from project.h:145:0, 
       from binder.cpp:20: 
eventmachine.h:45:61: warning: type qualifiers ignored on function return type 
eventmachine.h:46:112: warning: type qualifiers ignored on function return type 
eventmachine.h:47:69: warning: type qualifiers ignored on function return type 
eventmachine.h:49:73: warning: type qualifiers ignored on function return type 
eventmachine.h:62:75: warning: type qualifiers ignored on function return type 
eventmachine.h:63:74: warning: type qualifiers ignored on function return type 
eventmachine.h:64:77: warning: type qualifiers ignored on function return type 
eventmachine.h:65:41: warning: type qualifiers ignored on function return type 
In file included from project.h:145:0, 
       from binder.cpp:20: 
eventmachine.h:99:60: warning: type qualifiers ignored on function return type 
eventmachine.h:100:58: warning: type qualifiers ignored on function return type 
eventmachine.h:102:60: warning: type qualifiers ignored on function return type 
eventmachine.h:105:41: warning: type qualifiers ignored on function return type 
g++ -I. -IC:/Ruby/include/ruby-1.9.1/i386-mingw32 -I/C/Ruby/include/ruby-1.9.1/ruby/backward -I/C/Ru 
by/include/ruby-1.9.1 -I. -DBUILD_FOR_RUBY -DHAVE_RB_THREAD_BLOCKING_REGION -DHAVE_TBR -DHAVE_RB_THR 
EAD_CHECK_INTS -DHAVE_RB_TIME_NEW -DOS_WIN32 -DHAVE_WINDOWS_H -DHAVE_WINSOCK_H -DWITHOUT_SSL -DHAVE_ 
MAKE_PAIR -O3 -g -Wextra -Wno-unused-parameter -Wno-parentheses -Wpointer-arith -Wwrite-strings - 
Wno-missing-field-initializers -Wno-long-long -o cmain.o -c cmain.cpp 
In file included from project.h:137:0, 
       from cmain.cpp:20: 
binder.h:35:34: warning: type qualifiers ignored on function return type 
In file included from project.h:138:0, 
       from cmain.cpp:20: 
em.h:91:47: warning: type qualifiers ignored on function return type 
em.h:92:76: warning: type qualifiers ignored on function return type 
em.h:93:56: warning: type qualifiers ignored on function return type 
em.h:95:57: warning: type qualifiers ignored on function return type 
em.h:96:60: warning: type qualifiers ignored on function return type 
em.h:97:58: warning: type qualifiers ignored on function return type 
em.h:98:55: warning: type qualifiers ignored on function return type 
em.h:99:36: warning: type qualifiers ignored on function return type 
em.h:101:47: warning: type qualifiers ignored on function return type 
em.h:106:42: warning: type qualifiers ignored on function return type 
em.h:123:45: warning: type qualifiers ignored on function return type 
em.h:132:36: warning: type qualifiers ignored on function return type 
In file included from project.h:145:0, 
       from cmain.cpp:20: 
eventmachine.h:45:61: warning: type qualifiers ignored on function return type 
eventmachine.h:46:112: warning: type qualifiers ignored on function return type 
eventmachine.h:47:69: warning: type qualifiers ignored on function return type 
eventmachine.h:49:73: warning: type qualifiers ignored on function return type 
eventmachine.h:62:75: warning: type qualifiers ignored on function return type 
eventmachine.h:63:74: warning: type qualifiers ignored on function return type 
eventmachine.h:64:77: warning: type qualifiers ignored on function return type 
eventmachine.h:65:41: warning: type qualifiers ignored on function return type 
In file included from project.h:145:0, 
       from cmain.cpp:20: 
eventmachine.h:99:60: warning: type qualifiers ignored on function return type 
eventmachine.h:100:58: warning: type qualifiers ignored on function return type 
eventmachine.h:102:60: warning: type qualifiers ignored on function return type 
eventmachine.h:105:41: warning: type qualifiers ignored on function return type 
cmain.cpp:98:71: warning: type qualifiers ignored on function return type 
cmain.cpp:109:122: warning: type qualifiers ignored on function return type 
cmain.cpp:119:79: warning: type qualifiers ignored on function return type 
cmain.cpp:129:83: warning: type qualifiers ignored on function return type 
cmain.cpp:260:85: warning: type qualifiers ignored on function return type 
cmain.cpp:270:84: warning: type qualifiers ignored on function return type 
cmain.cpp:280:88: warning: type qualifiers ignored on function return type 
cmain.cpp:290:51: warning: type qualifiers ignored on function return type 
cmain.cpp:300:70: warning: type qualifiers ignored on function return type 
cmain.cpp:320:55: warning: type qualifiers ignored on function return type 
cmain.cpp:546:70: warning: type qualifiers ignored on function return type 
cmain.cpp:669:68: warning: type qualifiers ignored on function return type 
cmain.cpp: In function 'int evma_send_file_data_to_connection(long unsigned int, const char*)': 
cmain.cpp:752:6: error: cannot convert 'stat*' to '_stati64*' for argument '2' to 'int _fstati64(int 
, _stati64*)' 
make: *** [cmain.o] Error 1 


Gem files will remain installed in C:/Ruby/lib/ruby/gems/1.9.1/gems/eventmachine-0.12.10 for inspect 
ion. 
Results logged to C:/Ruby/lib/ruby/gems/1.9.1/gems/eventmachine-0.12.10/ext/gem_make.out 
+0

什么版本的红宝石? – rogerdpack 2010-09-07 16:49:12

+1

红宝石版本是1.9.2 – 2010-09-10 18:43:09

+1

我有这个相同的问题!我做了这些步骤,当我做'瘦开始'我得到一个错误'没有找到适合C:/ Ruby192/bin的适配器。帮帮我? – Zabba 2010-10-22 23:28:07

回答

110

从混帐或RubyGems的仓库不再有效(目前)1.9.2或1.9.3下安装(确认仍破2012日至22日)。相反,你需要简单:

gem install eventmachine --pre 
gem install thin 

注意,2012年日至18当前抢鲜为renamed to 1.0.0.rc.1,所以有可能是“快”的与Windows Works版本将成为正式发布,这将不再是一个问题。


如果你试图从GitHub库,你可能会看到此1.9.2下建立的宝石(包括搜索引擎点击):

 
C:\eventmachine> rake build 
(in C:/eventmachine) 
cd ext 
C:/Ruby/bin/ruby.exe extconf.rb 
checking for rb_trap_immediate in ruby.h,rubysig.h... *** extconf.rb failed *** 
Could not create Makefile due to some reason, probably lack of necessary 
libraries and/or headers. Check the mkmf.log file for more details. 

如果您尝试安装1.9.3从RubyGems的回购,你可能会看到这个下宝石(包括搜索引擎点击):

C:\>gem install eventmachine 
Temporarily enhancing PATH to include DevKit... 
Building native extensions. This could take a while... 
ERROR: Error installing eventmachine: 
     ERROR: Failed to build gem native extension. 

     C:/Ruby193/bin/ruby.exe extconf.rb 
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_thread_check_ints()... yes 
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 
checking for main() in -lssl... no 
creating Makefile 

make 
generating rubyeventmachine-i386-mingw32.def 
compiling binder.cpp 
cc1plus.exe: warning: command line option "-Wdeclaration-after-statement" is valid for C/ObjC but not for C++ 
cc1plus.exe: warning: command line option "-Wimplicit-function-declaration" is valid for C/ObjC but not for C++ 
In file included from binder.cpp:20:0: 
project.h:85:0: warning: "FD_SETSIZE" redefined 
:0:0: note: this is the location of the previous definition 
In file included from project.h:137:0, 
       from binder.cpp:20: 
binder.h:35:34: warning: type qualifiers ignored on function return type 
In file included from project.h:138:0, 
       from binder.cpp:20: 
em.h:91:47: warning: type qualifiers ignored on function return type 
em.h:92:76: warning: type qualifiers ignored on function return type 
em.h:93:56: warning: type qualifiers ignored on function return type 
em.h:95:57: warning: type qualifiers ignored on function return type 
em.h:96:60: warning: type qualifiers ignored on function return type 
em.h:97:58: warning: type qualifiers ignored on function return type 
em.h:98:55: warning: type qualifiers ignored on function return type 
em.h:99:36: warning: type qualifiers ignored on function return type 
em.h:101:47: warning: type qualifiers ignored on function return type 
em.h:106:42: warning: type qualifiers ignored on function return type 
em.h:123:45: warning: type qualifiers ignored on function return type 
em.h:132:36: warning: type qualifiers ignored on function return type 
In file included from project.h:145:0, 
       from binder.cpp:20: 
eventmachine.h:45:61: warning: type qualifiers ignored on function return type 
eventmachine.h:46:112: warning: type qualifiers ignored on function return type 
eventmachine.h:47:69: warning: type qualifiers ignored on function return type 
eventmachine.h:49:73: warning: type qualifiers ignored on function return type 
eventmachine.h:62:75: warning: type qualifiers ignored on function return type 
eventmachine.h:63:74: warning: type qualifiers ignored on function return type 
eventmachine.h:64:77: warning: type qualifiers ignored on function return type 
eventmachine.h:65:41: warning: type qualifiers ignored on function return type 
In file included from project.h:145:0, 
       from binder.cpp:20: 
eventmachine.h:99:60: warning: type qualifiers ignored on function return type 
eventmachine.h:100:58: warning: type qualifiers ignored on function return type 
eventmachine.h:102:60: warning: type qualifiers ignored on function return type 
eventmachine.h:105:41: warning: type qualifiers ignored on function return type 
compiling cmain.cpp 
cc1plus.exe: warning: command line option "-Wdeclaration-after-statement" is valid for C/ObjC but not for C++ 
cc1plus.exe: warning: command line option "-Wimplicit-function-declaration" is valid for C/ObjC but not for C++ 
In file included from cmain.cpp:20:0: 
project.h:85:0: warning: "FD_SETSIZE" redefined 
:0:0: note: this is the location of the previous definition 
In file included from project.h:137:0, 
       from cmain.cpp:20: 
binder.h:35:34: warning: type qualifiers ignored on function return type 
In file included from project.h:138:0, 
       from cmain.cpp:20: 
em.h:91:47: warning: type qualifiers ignored on function return type 
em.h:92:76: warning: type qualifiers ignored on function return type 
em.h:93:56: warning: type qualifiers ignored on function return type 
em.h:95:57: warning: type qualifiers ignored on function return type 
em.h:96:60: warning: type qualifiers ignored on function return type 
em.h:97:58: warning: type qualifiers ignored on function return type 
em.h:98:55: warning: type qualifiers ignored on function return type 
em.h:99:36: warning: type qualifiers ignored on function return type 
em.h:101:47: warning: type qualifiers ignored on function return type 
em.h:106:42: warning: type qualifiers ignored on function return type 
em.h:123:45: warning: type qualifiers ignored on function return type 
em.h:132:36: warning: type qualifiers ignored on function return type 
In file included from project.h:145:0, 
       from cmain.cpp:20: 
eventmachine.h:45:61: warning: type qualifiers ignored on function return type 
eventmachine.h:46:112: warning: type qualifiers ignored on function return type 
eventmachine.h:47:69: warning: type qualifiers ignored on function return type 
eventmachine.h:49:73: warning: type qualifiers ignored on function return type 
eventmachine.h:62:75: warning: type qualifiers ignored on function return type 
eventmachine.h:63:74: warning: type qualifiers ignored on function return type 
eventmachine.h:64:77: warning: type qualifiers ignored on function return type 
eventmachine.h:65:41: warning: type qualifiers ignored on function return type 
In file included from project.h:145:0, 
       from cmain.cpp:20: 
eventmachine.h:99:60: warning: type qualifiers ignored on function return type 
eventmachine.h:100:58: warning: type qualifiers ignored on function return type 
eventmachine.h:102:60: warning: type qualifiers ignored on function return type 
eventmachine.h:105:41: warning: type qualifiers ignored on function return type 
cmain.cpp:98:71: warning: type qualifiers ignored on function return type 
cmain.cpp:109:122: warning: type qualifiers ignored on function return type 
cmain.cpp:119:79: warning: type qualifiers ignored on function return type 
cmain.cpp:129:83: warning: type qualifiers ignored on function return type 
cmain.cpp:260:85: warning: type qualifiers ignored on function return type 
cmain.cpp:270:84: warning: type qualifiers ignored on function return type 
cmain.cpp:280:88: warning: type qualifiers ignored on function return type 
cmain.cpp:290:51: warning: type qualifiers ignored on function return type 
cmain.cpp:300:70: warning: type qualifiers ignored on function return type 
cmain.cpp:320:55: warning: type qualifiers ignored on function return type 
cmain.cpp:546:70: warning: type qualifiers ignored on function return type 
cmain.cpp:669:68: warning: type qualifiers ignored on function return type 
cmain.cpp: In function 'int evma_send_file_data_to_connection(long unsigned int, const char*)': 
cmain.cpp:752:6: error: cannot convert 'stat*' to '_stati64*' for argument '2' to 'int _fstati64(int, _stati64*)' 
make: *** [cmain.o] Error 1 


Gem files will remain installed in C:/Ruby193/lib/ruby/gems/1.9.1/gems/eventmachine-0.12.10 for inspection. 
Results logged to C:/Ruby193/lib/ruby/gems/1.9.1/gems/eventmachine-0.12.10/ext/gem_make.out
+2

为我工作的唯一解决方案。然而,安装eventmachine工作的实际命令是:gem install eventmachine -v 1.0.0.beta.2 --pre – konung 2011-02-04 20:26:46

+0

对win7 x64有同样的问题,这工作,谢谢! – 2011-03-09 12:45:55

+1

如果在事件机器安装过程中出现'不能将'stat *'转换为'_stati64 *'错误,并且'gem install eventmachine --pre'也解决了我的问题。非常感谢 – cz3ch 2011-11-21 19:02:00

3

尝试运行以下

gem install thin –ignore-dependencies 

如果失败重试安装架和EventMachine的,然后重新运行上面的命令。

gem install rack 
gem install eventmachine -l 
gem install thin –ignore-dependencies 
1

这可能帮助:

$ gem install specific_install 
$ gem specific_install -l http://github.com/eventmachine/eventmachine.git 
6

首先,从RubyInstaller的Windows website(它似乎你已经做了)安装的devkit。

然后像Roger显示的那样从git存储库中单独安装eventmachine。

> gem install specific_install 
Successfully installed backports-1.18.1 
Successfully installed specific_install-0.2.3 
2 gems installed 
... 
> gem specific_install -l http://github.com/eventmachine/eventmachine.git 
git installing from http://github.com/eventmachine/eventmachine.git 
... 
Successfully built RubyGem 
Name: eventmachine 
Version: 0.12.11 
File: eventmachine-0.12.11.gem 
Temporarily enhancing PATH to include DevKit... 
Building native extensions. This could take a while... 
Successfully installed eventmachine-0.12.11 
1 gem installed 
... 
successfully installed 

然后,您应该能够从宝石安装瘦。

> gem install thin 
Temporarily enhancing PATH to include DevKit... 
Successfully installed thin-1.2.7-x86-mingw32 
1 gem installed 
... 
> thin start 
Using rack adapter 
Thin web server (v1.2.7 codename No Hup) 
Maximum connections set to 1024 
Listening on 0.0.0.0:3000, CTRL+C to stop 
+1

gem specific_install -l http://github.com/eventmachine/eventmachine.git - 应该从git bush中调用。它不会在Windows控制台中工作。 – 2010-10-07 11:57:38

0

您CA n安装Thin无需使用预先构建的二进制文件自行构建,但需要知道哪些二进制文件。要获取最新的预建的Win32版本做到以下几点:

  1. 转到为具有“x86的mswin32”到它的正确版本的“版本”部分下RubyGems Thin page
  2. 看。 (截至今天的版本1.2.11,1.2。10,等等都具有的win32二进制文件)
  3. 运行下面的“宝石安装”薄壁的版本命令包含在“-v”标志的情况如下:

宝石安装薄-v 1.2.11

下面是我的安装结果:

 
c:\>gem install thin -v 1.2.11 
Successfully installed thin-1.2.11-x86-mswin32 
1 gem installed 
Installing ri documentation for thin-1.2.11-x86-mswin32... 
Updating ri class cache with 3611 classes... 
Installing RDoc documentation for thin-1.2.11-x86-mswin32... 
3

这将帮助你......

下面一行添加到您的宝石文件

宝石 'EventMachine的',:git的=> 'https://github.com/eventmachine/eventmachine.git'

然后运行捆绑安装

+0

在Win 7 x64和Ruby 2.0.0中为我工作。 – DanT 2014-07-09 12:51:53