Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Ruby on Rails - can not install SystemTimer

I am using windows and I just ran the command:

C:\Sites\cmply>gem install SystemTimer -v '1.2.3'

and I got this error:

Temporarily enhancing PATH to include DevKit...
Building native extensions.  This could take a while...
ERROR:  Error installing SystemTimer:
        ERROR: Failed to build gem native extension.

        C:/RailsInstaller/Ruby1.9.3/bin/ruby.exe extconf.rb
creating Makefile

make
generating system_timer_native-i386-mingw32.def
compiling system_timer_native.c
In file included from system_timer_native.c:8:0:
c:/RailsInstaller/Ruby1.9.3/include/ruby-1.9.1/ruby/backward/rubysig.h:14:2: warning: #warning rubysig.h is obsolete
system_timer_native.c: In function 'install_first_timer_and_save_original_configuration':

any idea why? Prior to this I got another suspicious error:

Gem files will remain installed in C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/SystemTimer-1.2.3 for inspection.
Results logged to C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/SystemTimer-1.2.3/ext/system_timer/gem_make.out
An error occured while installing SystemTimer (1.2.3), and Bundler cannot continue.
Make sure that `gem install SystemTimer -v '1.2.3'` succeeds before bundling.

and prior to that I got another error that seemed to indicate that my Ruby version is somehow out of sync:

C:\Sites\cmply>bundle update rake
Updating git://github.com/twitter/twitter-text-rb.git
Fetching source index for http://rubygems.org/
Bundler could not find compatible versions for gem "activesupport":
  In snapshot (Gemfile.lock):
    activesupport (3.2.3)

  In Gemfile:
    rails (= 3.1.3) x86-mingw32 depends on
      activesupport (= 3.1.3) x86-mingw32

Running `bundle update` will rebuild your snapshot from scratch, using only
the gems in your Gemfile, which may resolve the conflict.

So is it all rooted in me having an incompatible ruby version? How should this be solved?

Thanks!

like image 732
GeekedOut Avatar asked Apr 12 '12 15:04

GeekedOut


2 Answers

You can't install system_timer gem with ruby 1.9, but it's not a bug, it's a feature. Here is the full explanation.

"system_timer is only relevant if you are running Ruby 1.8. You do not need it if you are running Ruby 1.9"

If you're switching from Ruby 1.8 to 1.9, simply remove the system_time gem and update code dealing with timeouts.

like image 108
Lukas Stejskal Avatar answered Oct 05 '22 12:10

Lukas Stejskal


Inspecting the output it says you're building for Ruby 1.9.3 with the include files of 1.9.1.

It looks like your Ruby installation is somehow broken. I would try to reinstall the Ruby 1.9.3 and check that the include files exist in c:/RailsInstaller/Ruby1.9.3/include/ruby-1.9.3/ and not in c:/RailsInstaller/Ruby1.9.3/include/ruby-1.9.1/.

like image 22
KARASZI István Avatar answered Oct 05 '22 12:10

KARASZI István