2010-09-06 23 views
65

No puedo instalar thin gem en windows. Algo sucede durante la compilación de extensiones nativas.No se puede instalar thin en windows

¿Alguien se enfrenta a los mismos problemas?

Aquí es el seguimiento de la pila:

>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

¿qué versión de ruby? – rogerdpack

+1

Ruby versión es 1.9.2 –

+1

¡Estoy teniendo este mismo problema! Hice los pasos y cuando lo hago 'thin start' me sale un error' No se ha encontrado ningún adaptador para C:/Ruby192/bin'. ¿Ayuda? – Zabba

Respuesta

110

Instalar desde los repositorios Git o RubyGems ya no funciona (actualmente) en 1.9.2 o 1.9.3 (todavía confirmada roto en 2012-Junio-22). En su lugar, es necesario simplemente:

gem install eventmachine --pre 
gem install thin 

Tenga en cuenta que en 2012-Junio-18 de la versión preliminar actual era renamed to 1.0.0.rc.1, por lo que existe la posibilidad de que 'pronto' la versión que funciona con Windows se convertirá en la versión oficial y esto ya no será un problema.


Si intenta generar la gema bajo 1.9.2 desde el repositorio GitHub puede ver este (incluida para motor de búsqueda de aciertos):

 
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. 

Si intenta instalar el joya bajo 1.9.3 de las rubygems repo puede ver este (incluido para los golpes del motor de búsqueda):

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

La única solución que funcionó para mí. Sin embargo, el comando real para instalar eventmachine que funcionó es: gem install eventmachine -v 1.0.0.beta.2 --pre – konung

+0

Tenía el mismo problema en win7 x64 y esto funcionó, ¡gracias! –

+1

Tuve un error 'can not convert 'stat *' to '_stati64 *'' durante la instalación de eventmachine y 'gem install eventmachine --pre' también resolvió mi problema. Muchas gracias – cz3ch

3

Prueba el ejecutando el siguiente

gem install thin –ignore-dependencies 

Si falla vuelva a intentar la instalación de bastidor y EventMachine y vuelva a ejecutar el comando anterior.

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

Esto podría ayudar:

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

En primer lugar, instale el DevKit del RubyInstaller para Windows website (que parece que ya lo han hecho).

Luego instale eventmachine por separado del repositorio de git como lo muestra Roger.

> 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 

Debería poder instalar thin de la gema.

> 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 - debe llamarse desde git bush. No funcionará en la consola de Windows. –

0

que ca n instale Thin sin necesidad de construirlo usted mismo utilizando los binarios preconstruidos, pero necesita saber cuáles. Para obtener la última versión de pre-construidos Win32 haga lo siguiente:

  1. Ir a la mirada RubyGems Thin page
  2. en la sección "Versiones" para una versión que tiene "x86-mswin32" a la derecha de la misma. (A partir de hoy versiones 1.2.11, 1.2.10, etc todos tienen binarios Win32)
  3. ejecute el siguiente siguiente "gem install" comando con la versión de Thin incluido en el "-v" bandera:

joya instalar delgada -v 1.2.11

Éstos son los resultados de mi instalación:

 
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

Esto le ayudará a ...

Añadir esta por debajo de la línea a su archivo joya

joya 'EventMachine',: git => 'https://github.com/eventmachine/eventmachine.git'

continuación, ejecute paquete de instalación

+0

Funcionó para mí con Win 7 x64 y Ruby 2.0.0. – DanT