2013-02-27 6 views
8

Jestem w systemie Windows z Ruby 1.9.3 z DevKit (wszystkie 32-bitowe na Windows 7 64 bit). Teraz próbuję zainstalować szyny, ale dostaję błąd z pakietu. Gdy próbuję uruchomić (co wiązka narzeka)Gem json nie powiedzie się z ponownym udostępnieniem struktury timezone/timespec

gem install json 

pojawia się następujący komunikat o błędzie:

D:\RubyTest>gem install json 
Temporarily enhancing PATH to include DevKit... 
Building native extensions. This could take a while... 
ERROR: Error installing json: 
     ERROR: Failed to build gem native extension. 

     D:/Ruby193/bin/ruby.exe extconf.rb 
creating Makefile 

make 
generating generator-i386-mingw32.def 
compiling generator.c 
In file included from d:/Ruby193/include/ruby-1.9.1/ruby/ruby.h:1381:0, 
       from d:/Ruby193/include/ruby-1.9.1/ruby.h:32, 
       from ../fbuffer/fbuffer.h:5, 
       from generator.c:1: 
d:/Ruby193/include/ruby-1.9.1/ruby/missing.h:41:8: error: redefinition of 'struc 
t timespec' 
In file included from d:\ruby193\mingw\bin\../lib/gcc/i686-w64-mingw32/4.7.2/../ 
../../../i686-w64-mingw32/include/process.h:12:0, 
       from d:/Ruby193/include/ruby-1.9.1/ruby/win32.h:62, 
       from d:/Ruby193/include/ruby-1.9.1/ruby/defines.h:223, 
       from d:/Ruby193/include/ruby-1.9.1/ruby/ruby.h:67, 
       from d:/Ruby193/include/ruby-1.9.1/ruby.h:32, 
       from ../fbuffer/fbuffer.h:5, 
       from generator.c:1: 
d:\ruby193\mingw\bin\../lib/gcc/i686-w64-mingw32/4.7.2/../../../../i686-w64-ming 
w32/include/sys/types.h:89:8: note: originally defined here 
In file included from d:/Ruby193/include/ruby-1.9.1/ruby/ruby.h:1381:0, 
       from d:/Ruby193/include/ruby-1.9.1/ruby.h:32, 
       from ../fbuffer/fbuffer.h:5, 
       from generator.c:1: 
d:/Ruby193/include/ruby-1.9.1/ruby/missing.h:48:8: error: redefinition of 'struc 
t timezone' 
In file included from d:/Ruby193/include/ruby-1.9.1/ruby/win32.h:63:0, 
       from d:/Ruby193/include/ruby-1.9.1/ruby/defines.h:223, 
       from d:/Ruby193/include/ruby-1.9.1/ruby/ruby.h:67, 
       from d:/Ruby193/include/ruby-1.9.1/ruby.h:32, 
       from ../fbuffer/fbuffer.h:5, 
       from generator.c:1: 
d:\ruby193\mingw\bin\../lib/gcc/i686-w64-mingw32/4.7.2/../../../../i686-w64-ming 
w32/include/time.h:260:8: note: originally defined here 
make: *** [generator.o] Error 1 


Gem files will remain installed in D:/Ruby193/lib/ruby/gems/1.9.1/gems/json-1.7. 
7 for inspection. 
Results logged to D:/Ruby193/lib/ruby/gems/1.9.1/gems/json-1.7.7/ext/json/ext/ge 
nerator/gem_make.out 

jakiś pomysł?

Odpowiedz

20

Ruby 1.9.3 został skompilowany z GCC 4.5.2, które jest DevKit DevKit-tdm-32-4.5.2-20111229-1559-sfx.exe dostępny od RubyInstaller's download page

pobraniu nowsze DevKits, które są tylko zgodny z Ruby 2.0.0 uwolnienia, jak wskazano w RubyInstaller ogłoszenie.

Dla wyjaśnienia:

  • Ruby 1.8.7: tdm-32-4.5.2
  • Ruby 1.9.2: tdm-32-4.5.2
  • Ruby 1.9.3: tdm-32-4.5.2
  • Ruby 2.0.0: mingw64-32-4.7.2 (i wersja 64Bits dla 64-bitowego Rubiego)

Dodałem wyjaśnienie do strony pobierania RubyInstaller a o to.

nadzieję, że pomoże

+1

To właśnie rozwiązanie. Myślę, że warto umieścić na stronie pobierania RubyInstaller! :) Dziękuję Ci! – Henno

+0

Dokładnie, to też mnie. Pobrałem wersję mingw64 na podstawie tego, że była znacznie nowsza. –

+0

To samo tutaj - json 1.7.7 kompiluje teraz bez problemu! – konung

0

można otworzyć "win32.h" znajdujący się w katalogu obejmują fo wersji Ruby.

Następnie skomentuj linie, w których deklarowane są funkcje "clock_gettime" "clock_getres".

Powiązane problemy