65 votes

Impossible d'installer thin sur windows

Je ne peux pas installer un bijou fin sur Windows. Quelque chose se passe lors de la construction d'extensions natives.

Est-ce que quelqu'un fait face aux 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
 

110voto

Phrogz Points 112337

L'installation de git ou rubygems dépôts ne fonctionne plus (pour l'instant) 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 sur 2012-juin-18 l'actuelle version préliminaire a été renommé 1.0.0.rc.1, il est donc possible que "bientôt" la version qui fonctionne avec Windows va devenir la version officielle et ce ne sera plus un problème.


Si vous essayez de créer le bijou sous 1.9.2 depuis le dépôt github, vous pouvez voir ce (inclus pour les moteur de recherche, de frappe):

C:\eventmachine> râteau construire
(en C:/eventmachine)
cd ext
C:/Ruby/bin/ruby.exe extconf.rb
la vérification de rb_trap_immediate en ruby.h,rubysig.h... *** extconf.rb a échoué ***
N'a pas pu créer le Makefile pour une raison quelconque, probablement le manque de
les bibliothèques et/ou les en-têtes. De vérifier la mkmf.le fichier journal pour plus de détails.

Si vous essayez d'installer la gem en vertu de 1.9.3 de la rubygems repo, vous pouvez voir ce (inclus pour les moteur de recherche, de frappe):

C:\>gem install eventmachine
Temporairement l'amélioration de CHEMIN d'accès pour inclure DevKit...
La construction d'extensions natives. Cela pourrait prendre un certain temps...
ERREUR: Erreur lors de l'installation eventmachine:
 ERREUR: Échec de création d'gem extension native.

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

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


Gem fichiers restent installés dans C:/Ruby193/lib/ruby/gems/1.9.1/gems/eventmachine-0.12.10 pour l'inspection.
Les résultats enregistrés sur C:/Ruby193/lib/ruby/gems/1.9.1/gems/eventmachine-0.12.10/ext/gem_make.out

6voto

bryanweatherly Points 109

Tout d’abord, installez le DevKit à partir du site Web RubyInstaller pour Windows (il semble que vous l’ayez déjà fait).

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 mince à 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
 

3voto

lmmendes Points 890

Essayez le courir le suivant

 gem install thin –ignore-dependencies
 

Si cela échoue, essayez à nouveau 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
 

3voto

Kamal Durai Points 111

Cela vous aidera ...

Ajoutez cette ligne ci-dessous à votre fichier de gem

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

puis lancez bundle install

1voto

rogerdpack Points 12806

Cela pourrait aider:

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

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X