2010-09-06 5 views
65

Je ne peux pas installer de gemmes fines sur des fenêtres. Quelque chose s'est produit pendant la construction des extensions natives.Impossible d'installer thin sur les fenêtres

Quelqu'un a-t-il les mêmes problèmes?

Voici la trace de la pile:

>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

quelle version de ruby? – rogerdpack

+1

La version Ruby est 1.9.2 –

+1

J'ai le même problème! J'ai fait les étapes et quand je fais le «début mince» j'obtiens une erreur «Aucun adaptateur trouvé pour C:/Ruby192/bin». Aidez-moi? – Zabba

Répondre

110

Installation à partir des dépôts git ou RubyGems ne fonctionne plus (actuellement) sous 1.9.2 ou 1.9.3 (confirmé encore cassé sur 2012-Juin-22). Au lieu de cela, vous devez simplement:

gem install eventmachine --pre 
gem install thin 

Notez que le 2012-Juin-18 la préversion actuelle était renamed to 1.0.0.rc.1, donc il est possible que « bientôt » la version qui fonctionne avec Windows deviendra la version officielle et cette ne sera plus un problème.


Si vous essayez de construire la pierre sous 1.9.2 du repo github vous pouvez le voir (inclus pour le moteur de recherche 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. 

Si vous essayez d'installer la petit bijou sous 1.9.3 des rubygems repo vous pouvez voir ce (inclus pour les visites des moteurs de recherche):

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 seule solution qui a fonctionné pour moi. Cependant, la commande actuelle pour installer eventmachine qui a fonctionné est: gem install eventmachine -v 1.0.0.beta.2 --pre – konung

+0

Avait le même problème sur win7 x64 et cela a fonctionné, merci! –

+1

Une erreur stat 'ne peut pas convertir' en '_stati64 *' 'lors de l'installation de eventmachine et' gem install eventmachine --pre' a également résolu mon problème. Un grand merci – cz3ch

3

Essayez la course qui suit

gem install thin –ignore-dependencies 

Si elle échoue en rack et l'installation de nouvelle tentative eventmachine puis ré-exécution de la commande ci-dessus.

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

Cela pourrait aider:

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

D'abord, installer le DevKit du RubyInstaller pour Windows website (qui il semble que vous avez déjà fait).

Ensuite, installez eventmachine séparément du dépôt git comme le montre 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 

Vous devriez alors pouvoir installer thin à partir de la gemme.

> 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 - doit être appelé depuis git bush. Cela ne fonctionnera pas dans la console Windows. –

0

vous ca n installez Thin sans avoir besoin de le construire vous-même en utilisant les binaires précompilés, mais vous devez savoir lesquels. Pour obtenir la dernière version win32 pré-construit procédez comme suit:

  1. Aller à la RubyGems Thin page
  2. Regardez sous la section « Versions » pour une version qui a « x86-mswin32 » à droite de celui-ci. (À partir d'aujourd'hui versions 1.2.11, 1.2.10, etc ont tous les binaires win32)
  3. Exécutez la commande suivante commande suivante "installer bijou" avec la version de Thin inclus avec le drapeau "-v":

gem install mince -v 1.2.11

Voici les résultats de mon installation:

 
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

Cela vous aidera ...

Ajouter cette ligne ci-dessous à votre fichier de pierres précieuses

joyau 'de eventmachine',: git => 'https://github.com/eventmachine/eventmachine.git'

puis exécutez paquet installer

+0

A travaillé pour moi avec Win 7 x64 et Ruby 2.0.0. – DanT