无法在 Windows 上安装 Thin [英] Cannot install thin on windows

查看:39
本文介绍了无法在 Windows 上安装 Thin的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我无法在 Windows 上安装 Thin gem.在构建原生扩展的过程中发生了一些事情.

有人遇到同样的问题吗?

这是堆栈跟踪:

>gem install thin --no-ri --no-rdoc暂时增强 PATH 以包含 DevKit...构建原生扩展.这可能需要一段时间...错误:安装瘦的错误:错误:无法构建 gem 本机扩展.C:/Ruby/bin/ruby.exe extconf.rb在 ruby​​.h,rubysig.h 中检查 rb_trap_immediate... 否检查 rb_thread_blocking_region()... 是检查 sys/inotify.h 中的 inotify_init() ... 否在 sys/syscall.h 中检查 __NR_inotify_init ... 否检查 sys/uio.h 中的 writev() ... 否检查 rb_thread_check_ints()... 是检查 rb_time_new()... 是检查 windows.h... 是的检查 winsock.h... 是的检查 -lkernel32 中的 main() ... 是的检查 -lrpcrt4 中的 main() ... 是的检查 -lgdi32 中的 main() ... 是的检查 -lssl 中的 main()... 否创建 Makefile制作g++ -I.-IC:/Ruby/include/ruby-1.9.1/i386-mingw32 -I/C/Ruby/include/ruby-1.9.1/ruby/backward -I/C/Ruby/include/ruby-1.9.1 -I.-DBUILD_FOR_RUBY -DHAVE_RB_THREAD_BLOCKING_REGION -DHAVE_TBR -DHAVE_RB_THREAD_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在 project.h:137:0 包含的文件中,来自 binder.cpp:20:binder.h:35:34: 警告:在函数返回类型上忽略类型限定符在 project.h:138:0 包含的文件中,来自 binder.cpp:20:em.h:91:47:警告:在函数返回类型上忽略类型限定符em.h:92:76:警告:在函数返回类型上忽略类型限定符em.h:93:56:警告:在函数返回类型上忽略类型限定符em.h:95:57:警告:在函数返回类型上忽略类型限定符em.h:96:60:警告:在函数返回类型上忽略类型限定符em.h:97:58:警告:在函数返回类型上忽略类型限定符em.h:98:55:警告:在函数返回类型上忽略类型限定符em.h:99:36:警告:在函数返回类型上忽略类型限定符em.h:101:47:警告:在函数返回类型上忽略类型限定符em.h:106:42:警告:在函数返回类型上忽略类型限定符em.h:123:45:警告:在函数返回类型上忽略类型限定符em.h:132:36:警告:在函数返回类型上忽略类型限定符在 project.h:145:0 包含的文件中,来自 binder.cpp:20:eventmachine.h:45:61: 警告:在函数返回类型上忽略类型限定符eventmachine.h:46:112: 警告:在函数返回类型上忽略类型限定符eventmachine.h:47:69: 警告:在函数返回类型上忽略类型限定符eventmachine.h:49:73:警告:在函数返回类型上忽略类型限定符eventmachine.h:62:75: 警告:在函数返回类型上忽略类型限定符eventmachine.h:63:74:警告:在函数返回类型上忽略类型限定符eventmachine.h:64:77:警告:在函数返回类型上忽略类型限定符eventmachine.h:65:41: 警告:在函数返回类型上忽略类型限定符在 project.h:145:0 包含的文件中,来自 binder.cpp:20:eventmachine.h:99:60:警告:在函数返回类型上忽略类型限定符eventmachine.h:100:58: 警告:在函数返回类型上忽略类型限定符eventmachine.h:102:60: 警告:在函数返回类型上忽略类型限定符eventmachine.h:105:41: 警告:在函数返回类型上忽略类型限定符g++ -I.-IC:/Ruby/include/ruby-1.9.1/i386-mingw32 -I/C/Ruby/include/ruby-1.9.1/ruby/backward -I/C/Ruby/include/ruby-1.9.1 -I.-DBUILD_FOR_RUBY -DHAVE_RB_THREAD_BLOCKING_REGION -DHAVE_TBR -DHAVE_RB_THREAD_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在 project.h:137:0 包含的文件中,来自 cmain.cpp:20:binder.h:35:34: 警告:在函数返回类型上忽略类型限定符在 project.h:138:0 包含的文件中,来自 cmain.cpp:20:em.h:91:47:警告:在函数返回类型上忽略类型限定符em.h:92:76:警告:在函数返回类型上忽略类型限定符em.h:93:56:警告:在函数返回类型上忽略类型限定符em.h:95:57:警告:在函数返回类型上忽略类型限定符em.h:96:60:警告:在函数返回类型上忽略类型限定符em.h:97:58:警告:在函数返回类型上忽略类型限定符em.h:98:55:警告:在函数返回类型上忽略类型限定符em.h:99:36:警告:在函数返回类型上忽略类型限定符em.h:101:47:警告:在函数返回类型上忽略类型限定符em.h:106:42:警告:在函数返回类型上忽略类型限定符em.h:123:45:警告:在函数返回类型上忽略类型限定符em.h:132:36:警告:在函数返回类型上忽略类型限定符在 project.h:145:0 包含的文件中,来自 cmain.cpp:20:eventmachine.h:45:61: 警告:在函数返回类型上忽略类型限定符eventmachine.h:46:112: 警告:在函数返回类型上忽略类型限定符eventmachine.h:47:69: 警告:在函数返回类型上忽略类型限定符eventmachine.h:49:73:警告:在函数返回类型上忽略类型限定符eventmachine.h:62:75: 警告:在函数返回类型上忽略类型限定符eventmachine.h:63:74:警告:在函数返回类型上忽略类型限定符eventmachine.h:64:77:警告:在函数返回类型上忽略类型限定符eventmachine.h:65:41: 警告:在函数返回类型上忽略类型限定符在 project.h:145:0 包含的文件中,来自 cmain.cpp:20:eventmachine.h:99:60:警告:在函数返回类型上忽略类型限定符eventmachine.h:100:58: 警告:在函数返回类型上忽略类型限定符eventmachine.h:102:60: 警告:在函数返回类型上忽略类型限定符eventmachine.h:105:41: 警告:在函数返回类型上忽略类型限定符cmain.cpp:98:71: 警告:在函数返回类型上忽略类型限定符cmain.cpp:109:122: 警告:在函数返回类型上忽略类型限定符cmain.cpp:119:79: 警告:在函数返回类型上忽略类型限定符cmain.cpp:129:83: 警告:在函数返回类型上忽略类型限定符cmain.cpp:260:85: 警告:在函数返回类型上忽略类型限定符cmain.cpp:270:84:警告:在函数返回类型上忽略类型限定符cmain.cpp:280:88: 警告:在函数返回类型上忽略类型限定符cmain.cpp:290:51: 警告:在函数返回类型上忽略类型限定符cmain.cpp:300:70:警告:在函数返回类型上忽略类型限定符cmain.cpp:320:55:警告:在函数返回类型上忽略类型限定符cmain.cpp:546:70:警告:在函数返回类型上忽略类型限定符cmain.cpp:669:68: 警告:在函数返回类型上忽略类型限定符cmain.cpp:在函数'int evma_send_file_data_to_connection(long unsigned int, const char*)'中:cmain.cpp:752:6: 错误:无法将参数 '2' 的 'stat*' 转换为 '_stati64*' 到 'int _fstati64(int, _stati64*)'制作:*** [cmain.o] 错误 1Gem 文件将保留安装在 C:/Ruby/lib/ruby/gems/1.9.1/gems/eventmachine-0.12.10 中以供检查离子.结果记录到 C:/Ruby/lib/ruby/gems/1.9.1/gems/eventmachine-0.12.10/ext/gem_make.out

解决方案

从 git 或 ruby​​gems 存储库安装(当前)在 1.9.2 或 1.9.3 下不再有效(已确认在 2012 年 6 月 22 日仍然损坏).相反,您只需:

gem install eventmachine --pre宝石安装薄

请注意,在 2012 年 6 月 18 日,当前的预发布版本被重命名为 1.0..rc.1,因此有可能很快"适用于 Windows 的版本将成为正式版本,这将不再是问题.

<小时>

如果您尝试从 github 存储库在 1.9.2 下构建 gem,您可能会看到以下内容(包括在搜索引擎命中中):

<前>C:\eventmachine> rake 构建(在 C:/eventmachine 中)光盘分机C:/Ruby/bin/ruby.exe extconf.rb检查 ruby​​.h,rubysig.h 中的 rb_trap_immediate... *** extconf.rb 失败 ***由于某种原因无法创建 Makefile,可能缺乏必要库和/或头文件.检查 mkmf.log 文件以获取更多详细信息.

如果您尝试从 ruby​​gems 存储库中安装 1.9.3 下的 gem,您可能会看到以下内容(包括在搜索引擎点击中):

C:\>gem install eventmachine暂时增强 PATH 以包含 DevKit...构建原生扩展.这可能需要一段时间...错误:安装事件机器时出错:错误:无法构建 gem 本机扩展.C:/Ruby193/bin/ruby.exe extconf.rb在 ruby​​.h,rubysig.h 中检查 rb_trap_immediate... 否检查 rb_thread_blocking_region()... 是检查 sys/inotify.h 中的 inotify_init() ... 否在 sys/syscall.h 中检查 __NR_inotify_init ... 否检查 sys/uio.h 中的 writev() ... 否检查 rb_thread_check_ints()... 是检查 rb_time_new()... 是检查 windows.h... 是的检查 winsock.h... 是的检查 -lkernel32 中的 main() ... 是的检查 -lrpcrt4 中的 main() ... 是的检查 -lgdi32 中的 main() ... 是的检查 -lssl 中的 main()... 否创建 Makefile制作生成 ruby​​eventmachine-i386-mingw32.def编译binder.cppcc1plus.exe:警告:命令行选项-Wdeclaration-after-statement"对 C/ObjC 有效,但对 C++ 无效cc1plus.exe:警告:命令行选项-Wimplicit-function-declaration"对 C/ObjC 有效,但对 C++ 无效在 binder.cpp:20:0 包含的文件中:project.h:85:0: 警告:FD_SETSIZE"重新定义:0:0: 注意:这是之前定义的位置在 project.h:137:0 包含的文件中,来自 binder.cpp:20:binder.h:35:34: 警告:在函数返回类型上忽略类型限定符在 project.h:138:0 包含的文件中,来自 binder.cpp:20:em.h:91:47:警告:在函数返回类型上忽略类型限定符em.h:92:76:警告:在函数返回类型上忽略类型限定符em.h:93:56:警告:在函数返回类型上忽略类型限定符em.h:95:57:警告:在函数返回类型上忽略类型限定符em.h:96:60:警告:在函数返回类型上忽略类型限定符em.h:97:58:警告:在函数返回类型上忽略类型限定符em.h:98:55:警告:在函数返回类型上忽略类型限定符em.h:99:36:警告:在函数返回类型上忽略类型限定符em.h:101:47:警告:在函数返回类型上忽略类型限定符em.h:106:42:警告:在函数返回类型上忽略类型限定符em.h:123:45:警告:在函数返回类型上忽略类型限定符em.h:132:36:警告:在函数返回类型上忽略类型限定符在 project.h:145:0 包含的文件中,来自 binder.cpp:20:eventmachine.h:45:61: 警告:在函数返回类型上忽略类型限定符eventmachine.h:46:112: 警告:在函数返回类型上忽略类型限定符eventmachine.h:47:69: 警告:在函数返回类型上忽略类型限定符eventmachine.h:49:73:警告:在函数返回类型上忽略类型限定符eventmachine.h:62:75: 警告:在函数返回类型上忽略类型限定符eventmachine.h:63:74:警告:在函数返回类型上忽略类型限定符eventmachine.h:64:77:警告:在函数返回类型上忽略类型限定符eventmachine.h:65:41: 警告:在函数返回类型上忽略类型限定符在 project.h:145:0 包含的文件中,来自 binder.cpp:20:eventmachine.h:99:60:警告:在函数返回类型上忽略类型限定符eventmachine.h:100:58: 警告:在函数返回类型上忽略类型限定符eventmachine.h:102:60: 警告:在函数返回类型上忽略类型限定符eventmachine.h:105:41: 警告:在函数返回类型上忽略类型限定符编译cmain.cppcc1plus.exe:警告:命令行选项-Wdeclaration-after-statement"对 C/ObjC 有效,但对 C++ 无效cc1plus.exe:警告:命令行选项-Wimplicit-function-declaration"对 C/ObjC 有效,但对 C++ 无效在 cmain.cpp:20:0 包含的文件中:project.h:85:0: 警告:FD_SETSIZE"重新定义:0:0: 注意:这是之前定义的位置在 project.h:137:0 包含的文件中,来自 cmain.cpp:20:binder.h:35:34: 警告:在函数返回类型上忽略类型限定符在 project.h:138:0 包含的文件中,来自 cmain.cpp:20:em.h:91:47:警告:在函数返回类型上忽略类型限定符em.h:92:76:警告:在函数返回类型上忽略类型限定符em.h:93:56:警告:在函数返回类型上忽略类型限定符em.h:95:57:警告:在函数返回类型上忽略类型限定符em.h:96:60:警告:在函数返回类型上忽略类型限定符em.h:97:58:警告:在函数返回类型上忽略类型限定符em.h:98:55:警告:在函数返回类型上忽略类型限定符em.h:99:36:警告:在函数返回类型上忽略类型限定符em.h:101:47:警告:在函数返回类型上忽略类型限定符em.h:106:42:警告:在函数返回类型上忽略类型限定符em.h:123:45:警告:在函数返回类型上忽略类型限定符em.h:132:36:警告:在函数返回类型上忽略类型限定符在 project.h:145:0 包含的文件中,来自 cmain.cpp:20:eventmachine.h:45:61: 警告:在函数返回类型上忽略类型限定符eventmachine.h:46:112: 警告:在函数返回类型上忽略类型限定符eventmachine.h:47:69: 警告:在函数返回类型上忽略类型限定符eventmachine.h:49:73:警告:在函数返回类型上忽略类型限定符eventmachine.h:62:75: 警告:在函数返回类型上忽略类型限定符eventmachine.h:63:74:警告:在函数返回类型上忽略类型限定符eventmachine.h:64:77:警告:在函数返回类型上忽略类型限定符eventmachine.h:65:41: 警告:在函数返回类型上忽略类型限定符在 project.h:145:0 包含的文件中,来自 cmain.cpp:20:eventmachine.h:99:60:警告:在函数返回类型上忽略类型限定符eventmachine.h:100:58: 警告:在函数返回类型上忽略类型限定符eventmachine.h:102:60: 警告:在函数返回类型上忽略类型限定符eventmachine.h:105:41: 警告:在函数返回类型上忽略类型限定符cmain.cpp:98:71: 警告:在函数返回类型上忽略类型限定符cmain.cpp:109:122: 警告:在函数返回类型上忽略类型限定符cmain.cpp:119:79: 警告:在函数返回类型上忽略类型限定符cmain.cpp:129:83: 警告:在函数返回类型上忽略类型限定符cmain.cpp:260:85: 警告:在函数返回类型上忽略类型限定符cmain.cpp:270:84:警告:在函数返回类型上忽略类型限定符cmain.cpp:280:88: 警告:在函数返回类型上忽略类型限定符cmain.cpp:290:51: 警告:在函数返回类型上忽略类型限定符cmain.cpp:300:70:警告:在函数返回类型上忽略类型限定符cmain.cpp:320:55:警告:在函数返回类型上忽略类型限定符cmain.cpp:546:70:警告:在函数返回类型上忽略类型限定符cmain.cpp:669:68: 警告:在函数返回类型上忽略类型限定符cmain.cpp:在函数'int evma_send_file_data_to_connection(long unsigned int, const char*)'中:cmain.cpp:752:6: 错误:无法将参数 '2' 的 'stat*' 转换为 '_stati64*' 到 'int _fstati64(int, _stati64*)'制作:*** [cmain.o] 错误 1Gem 文件将保留安装在 C:/Ruby193/lib/ruby/gems/1.9.1/gems/eventmachine-0.12.10 中以供检查.结果记录到 C:/Ruby193/lib/ruby/gems/1.9.1/gems/eventmachine-0.12.10/ext/gem_make.out

I cannot install thin gem on windows. Something happen during build of native extensions.

Do anybody face same issues?

Here is the stack trace:

>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

解决方案

Installing from the git or rubygems repositories no longer works (currently) under 1.9.2 or 1.9.3 (confirmed still broken on 2012-June-22). Instead, you need to simply:

gem install eventmachine --pre
gem install thin

Note that on 2012-June-18 the current prerelease was renamed to 1.0.0.rc.1, so there is a possibility that 'soon' the version that works with Windows will become the official release and this will no longer be a problem.


If you try to build the gem under 1.9.2 from the github repo you may see this (included for search engine hits):

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.

If you try to install the gem under 1.9.3 from the rubygems repo you may see this (included for search engine hits):

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

这篇关于无法在 Windows 上安装 Thin的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆