Impossible d’installer mince sur Windows

Je ne peux pas installer de gemme mince sur Windows. Quelque chose se produit pendant la construction des extensions natives.

Quelqu’un fait-il face aux mêmes problèmes?

Voici la trace de la stack:

>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-ssortingngs - 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-ssortingngs - 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 

L’installation à partir des référentiels git ou rubygems ne fonctionne plus (actuellement) sous 1.9.2 ou 1.9.3 (confirmé encore cassé en 2012-juin-22). Au lieu de cela, vous devez simplement:

 gem install eventmachine --pre gem install thin 

Notez que le 2012-juin-18 la version préliminaire actuelle a été renommée en 1.0.0.rc.1 , il est donc possible que “bientôt” la version qui fonctionne avec Windows devienne la version officielle et que cela ne sera plus un problème .


Si vous essayez de construire la gem sous 1.9.2 à partir du repository github, vous pouvez voir ceci (inclus pour les résultats des moteurs de recherche):

 C: \ eventmachine> rake build
 (dans C: / eventmachine)
 cd ext
 C: /Ruby/bin/ruby.exe extconf.rb
 recherche de rb_trap_immediate dans ruby.h, rubysig.h ... *** extconf.rb a échoué ***
 Impossible de créer Makefile pour une raison quelconque, probablement un manque de nécessaire
 bibliothèques et / ou en-têtes.  Consultez le fichier mkmf.log pour plus de détails.

Si vous essayez d’installer la gem sous 1.9.3 à partir du référentiel rubygems, vous pouvez voir ceci (inclus pour les résultats des moteurs de recherche):

  C: \> gem install eventmachine
 Amélioration temporaire de PATH pour inclure DevKit ...
 Construire des extensions natives.  Ça pourrait prendre un moment...
 ERREUR: Erreur lors de l'installation de eventmachine:
         ERREUR: Impossible de construire l'extension native gem.

         C: /Ruby193/bin/ruby.exe extconf.rb
 vérification de rb_trap_immediate dans ruby.h, rubysig.h ... non
 recherche de rb_thread_blocking_region () ... oui
 rechercher inotify_init () dans sys / inotify.h ... non
 rechercher __NR_inotify_init dans sys / syscall.h ... non
 vérification de writev () dans sys / uio.h ... non
 recherche de rb_thread_check_ints () ... oui
 vérification de rb_time_new () ... oui
 vérification de windows.h ... oui
 vérifier pour winsock.h ... oui
 vérification de main () dans -lkernel32 ... oui
 recherche de main () dans -lrpcrt4 ... oui
 vérification de main () dans -lgdi32 ... oui
 recherche de main () dans -lssl ... non
 créer un Makefile

 faire
 générer rubyeventmachine-i386-mingw32.def
 comstackr binder.cpp
 cc1plus.exe: avertissement: l'option de ligne de commande "-Wdeclaration-after-statement" est valide pour C / ObjC mais pas pour C ++
 cc1plus.exe: avertissement: l'option de ligne de commande "-Wimplicit-function-declaration" est valide pour C / ObjC mais pas pour C ++
 Dans le fichier inclus à partir de binder.cpp: 20: 0:
 project.h: 85: 0: avertissement: "FD_SETSIZE" redéfini
 : 0: 0: note: c'est l'emplacement de la définition précédente
 Dans le fichier inclus à partir de project.h: 137: 0,
                  de binder.cpp
 binder.h: 35: 34: avertissement: qualificatifs de type ignorés sur le type de retour de la fonction
 Dans le fichier inclus à partir de project.h: 138: 0,
                  de binder.cpp
 em.h: 91: 47: avertissement: les qualificatifs de type sont ignorés sur le type de retour de la fonction
 em.h: 92: 76: avertissement: qualificateurs de type ignorés sur le type de retour de la fonction
 em.h: 93: 56: avertissement: qualificateurs de type ignorés sur le type de retour de fonction
 em.h: 95: 57: avertissement: qualificateurs de type ignorés sur le type de retour de la fonction
 em.h: 96: 60: avertissement: qualificatifs de type ignorés sur le type de retour de la fonction
 em.h: 97: 58: avertissement: qualificateurs de type ignorés sur le type de retour de fonction
 em.h: 98: 55: avertissement: qualificateurs de type ignorés sur le type de retour de fonction
 em.h: 99: 36: avertissement: qualificateurs de type ignorés sur le type de retour de la fonction
 em.h: 101: 47: avertissement: qualificatifs de type ignorés sur le type de retour de la fonction
 em.h: 106: 42: avertissement: qualifie les qualificatifs ignorés sur le type de retour de la fonction
 em.h: 123: 45: avertissement: qualificatifs de type ignorés sur le type de retour de la fonction
 em.h: 132: 36: avertissement: qualificatifs de type ignorés sur le type de retour de la fonction
 Dans le fichier inclus à partir de project.h: 145: 0,
                  de binder.cpp
 eventmachine.h: 45: 61: avertissement: qualificatifs de type ignorés sur le type de retour de la fonction
 eventmachine.h: 46: 112: avertissement: qualificatifs de type ignorés sur le type de retour de la fonction
 eventmachine.h: 47: 69: avertissement: qualificatifs de type ignorés sur le type de retour de la fonction
 eventmachine.h: 49: 73: avertissement: qualificateurs de type ignorés sur le type de retour de la fonction
 eventmachine.h: 62: 75: avertissement: qualificatifs de type ignorés sur le type de retour de la fonction
 eventmachine.h: 63: 74: avertissement: qualificatifs de type ignorés sur le type de retour de la fonction
 eventmachine.h: 64: 77: avertissement: qualificatifs de type ignorés sur le type de retour de la fonction
 eventmachine.h: 65: 41: avertissement: qualificatifs de type ignorés sur le type de retour de la fonction
 Dans le fichier inclus à partir de project.h: 145: 0,
                  de binder.cpp
 eventmachine.h: 99: 60: avertissement: qualificatifs de type ignorés sur le type de retour de fonction
 eventmachine.h: 100: 58: avertissement: qualificateurs de type ignorés sur le type de retour de la fonction
 eventmachine.h: 102: 60: avertissement: qualificateurs de type ignorés sur le type de retour de fonction
 eventmachine.h: 105: 41: avertissement: qualificatifs de type ignorés sur le type de retour de la fonction
 comstackr cmain.cpp
 cc1plus.exe: avertissement: l'option de ligne de commande "-Wdeclaration-after-statement" est valide pour C / ObjC mais pas pour C ++
 cc1plus.exe: avertissement: l'option de ligne de commande "-Wimplicit-function-declaration" est valide pour C / ObjC mais pas pour C ++
 Dans le fichier inclus depuis cmain.cpp: 20: 0:
 project.h: 85: 0: avertissement: "FD_SETSIZE" redéfini
 : 0: 0: note: c'est l'emplacement de la définition précédente
 Dans le fichier inclus à partir de project.h: 137: 0,
                  de cmain.cpp
 binder.h: 35: 34: avertissement: qualificatifs de type ignorés sur le type de retour de la fonction
 Dans le fichier inclus à partir de project.h: 138: 0,
                  de cmain.cpp
 em.h: 91: 47: avertissement: les qualificatifs de type sont ignorés sur le type de retour de la fonction
 em.h: 92: 76: avertissement: qualificateurs de type ignorés sur le type de retour de la fonction
 em.h: 93: 56: avertissement: qualificateurs de type ignorés sur le type de retour de fonction
 em.h: 95: 57: avertissement: qualificateurs de type ignorés sur le type de retour de la fonction
 em.h: 96: 60: avertissement: qualificatifs de type ignorés sur le type de retour de la fonction
 em.h: 97: 58: avertissement: qualificateurs de type ignorés sur le type de retour de fonction
 em.h: 98: 55: avertissement: qualificateurs de type ignorés sur le type de retour de fonction
 em.h: 99: 36: avertissement: qualificateurs de type ignorés sur le type de retour de la fonction
 em.h: 101: 47: avertissement: qualificatifs de type ignorés sur le type de retour de la fonction
 em.h: 106: 42: avertissement: qualifie les qualificatifs ignorés sur le type de retour de la fonction
 em.h: 123: 45: avertissement: qualificatifs de type ignorés sur le type de retour de la fonction
 em.h: 132: 36: avertissement: qualificatifs de type ignorés sur le type de retour de la fonction
 Dans le fichier inclus à partir de project.h: 145: 0,
                  de cmain.cpp
 eventmachine.h: 45: 61: avertissement: qualificatifs de type ignorés sur le type de retour de la fonction
 eventmachine.h: 46: 112: avertissement: qualificatifs de type ignorés sur le type de retour de la fonction
 eventmachine.h: 47: 69: avertissement: qualificatifs de type ignorés sur le type de retour de la fonction
 eventmachine.h: 49: 73: avertissement: qualificateurs de type ignorés sur le type de retour de la fonction
 eventmachine.h: 62: 75: avertissement: qualificatifs de type ignorés sur le type de retour de la fonction
 eventmachine.h: 63: 74: avertissement: qualificatifs de type ignorés sur le type de retour de la fonction
 eventmachine.h: 64: 77: avertissement: qualificatifs de type ignorés sur le type de retour de la fonction
 eventmachine.h: 65: 41: avertissement: qualificatifs de type ignorés sur le type de retour de la fonction
 Dans le fichier inclus depuis project.h: 145: 0,
                  de cmain.cpp
 eventmachine.h: 99: 60: avertissement: qualificatifs de type ignorés sur le type de retour de fonction
 eventmachine.h: 100: 58: avertissement: qualificateurs de type ignorés sur le type de retour de la fonction
 eventmachine.h: 102: 60: avertissement: qualificateurs de type ignorés sur le type de retour de fonction
 eventmachine.h: 105: 41: avertissement: qualificatifs de type ignorés sur le type de retour de la fonction
 cmain.cpp: 98: 71: avertissement: qualificatifs de type ignorés sur le type de retour de fonction
 cmain.cpp: 109: 122: avertissement: qualificatifs de type ignorés sur le type de retour de fonction
 cmain.cpp: 119: 79: avertissement: qualificatifs de type ignorés sur le type de retour de fonction
 cmain.cpp: 129: 83: avertissement: qualificatifs de type ignorés sur le type de retour de fonction
 cmain.cpp: 260: 85: avertissement: qualificateurs de type ignorés sur le type de retour de la fonction
 cmain.cpp: 270: 84: avertissement: qualificatifs de type ignorés sur le type de retour de la fonction
 cmain.cpp: 280: 88: avertissement: qualificateurs de type ignorés sur le type de retour de fonction
 cmain.cpp: 290: 51: avertissement: qualificateurs de type ignorés sur le type de retour de la fonction
 cmain.cpp: 300: 70: avertissement: qualificatifs de type ignorés sur le type de retour de fonction
 cmain.cpp: 320: 55: avertissement: qualificatifs de type ignorés sur le type de retour de fonction
 cmain.cpp: 546: 70: avertissement: qualificateurs de type ignorés sur le type de retour de la fonction
 cmain.cpp: 669: 68: avertissement: qualificatifs de type ignorés sur le type de retour de fonction
 cmain.cpp: Dans la fonction 'int evma_send_file_data_to_connection (long unsigned int, const char *)':
 cmain.cpp: 752: 6: erreur: impossible de convertir 'stat *' en '_stati64 *' pour l'argument '2' en 'int _fstati64 (int, _stati64 *)'
 make: *** [cmain.o] Erreur 1


 Les fichiers Gem restront installés dans C: /Ruby193/lib/ruby/gems/1.9.1/gems/eventmachine-0.12.10 pour inspection.
 Résultats consignés dans C: /Ruby193/lib/ruby/gems/1.9.1/gems/eventmachine-0.12.10/ext/gem_make.out 

Tout d’abord, installez DevKit à partir du site Web RubyInstaller for Windows (que vous avez déjà fait, semble-t-il).

Installez ensuite eventmachine séparément du référentiel 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 le mince du bijou.

 > 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 

Essayez la course suivante

 gem install thin –ignore-dependencies 

S’il échoue, réessayez d’installer rack et eventmachine, puis de réexécuter la commande ci-dessus.

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

Cela vous aidera …

Ajoutez cette ligne ci-dessous à votre fichier gem

gem ‘eventmachine’,: git => ‘https://github.com/eventmachine/eventmachine.git’

puis exécutez l’ installation groupée

Cela pourrait aider:

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

Vous pouvez installer Thin sans avoir à le construire vous-même en utilisant les binarys pré-construits, mais vous devez savoir lesquels. Pour obtenir la dernière version Win32 préconfigurée, procédez comme suit:

  1. Allez sur la page RubyGems Thin
  2. Regardez dans la section “Versions” pour une version qui a “x86-mswin32” à droite. (A partir d’aujourd’hui les versions 1.2.11, 1.2.10, etc. ont toutes des binarys win32)
  3. Exécutez la commande suivante “gem install” avec la version de Thin incluse avec l’indicateur “-v”:

gem install thin -v 1.2.11

Voici les résultats de mon installation:

 c: \> gem install thin -v 1.2.11
 Installation réussie de thin-1.2.11-x86-mswin32
 1 bijou installé
 Installation de la documentation ri pour thin-1.2.11-x86-mswin32 ... 
 Mise à jour du cache de classe ri avec 3611 classes ... 
 Installation de la documentation RDoc pour thin-1.2.11-x86-mswin32 ...