Search code examples
ruby-on-railsrubydevkit

Issues installing Ruby and Rails and DevKit on windows 7 x64 - fix needed


I am having a number of issues when trying to install ruby and rails. I have tried both without and now after clearing the previous installed versions.

When trying to run "gem install rdiscount --platform=ruby" I get the following error:

C:\Windows\system32>gem install rdiscount --platform=ruby
Temporarily enhancing PATH to include DevKit...
Building native extensions.  This could take a while...
ERROR:  Error installing rdiscount:
    ERROR: Failed to build gem native extension.

    "C:/Program Files (x86)/ruby-1.9.3/bin/ruby.exe" extconf.rb
checking for random()... *** 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.  You may need configuration options.

Provided configuration options:
    --with-opt-dir
    --without-opt-dir
    --with-opt-include
    --without-opt-include=${opt-dir}/include
    --with-opt-lib
    --without-opt-lib=${opt-dir}/lib
    --with-make-prog
    --without-make-prog
    --srcdir=.
    --curdir
    --ruby=C:/Program Files (x86)/ruby-1.9.3/bin/ruby
    --with-rdiscount-dir
    --without-rdiscount-dir
    --with-rdiscount-include
    --without-rdiscount-include=${rdiscount-dir}/include
    --with-rdiscount-lib
    --without-rdiscount-lib=${rdiscount-dir}/lib
C:/Program Files (x86)/ruby-1.9.3/lib/ruby/1.9.1/mkmf.rb:368:in `try_do': The complier failed to generate an executable file. (RuntimeError)
You have to install development tools first.
    from C:/Program Files (x86)/ruby-1.9.3/lib/ruby/1.9.1/mkmf.rb:435:in `try_link0'
    from C:/Program Files (x86)/ruby-1.9.3/lib/ruby/1.9.1/mkmf.rb:440:in `try_link'
    from C:/Program Files (x86)/ruby-1.9.3/lib/ruby/1.9.1/mkmf.rb:552:in `try_func'
    from C:/Program Files (x86)/ruby-1.9.3/lib/ruby/1.9.1/mkmf.rb:797:in `block in have_func'
    from C:/Program Files (x86)/ruby-1.9.3/lib/ruby/1.9.1/mkmf.rb:693:in `block in checking_for'
    from C:/Program Files (x86)/ruby-1.9.3/lib/ruby/1.9.1/mkmf.rb:280:in `block (2 levels) in postpone'
    from C:/Program Files (x86)/ruby-1.9.3/lib/ruby/1.9.1/mkmf.rb:254:in `open'
    from C:/Program Files (x86)/ruby-1.9.3/lib/ruby/1.9.1/mkmf.rb:280:in `block in postpone'
    from C:/Program Files (x86)/ruby-1.9.3/lib/ruby/1.9.1/mkmf.rb:254:in `open'
    from C:/Program Files (x86)/ruby-1.9.3/lib/ruby/1.9.1/mkmf.rb:276:in `postpone'
    from C:/Program Files (x86)/ruby-1.9.3/lib/ruby/1.9.1/mkmf.rb:692:in `checking_for'
    from C:/Program Files (x86)/ruby-1.9.3/lib/ruby/1.9.1/mkmf.rb:796:in `have_func'
    from extconf.rb:5:in `<main>'


Gem files will remain installed in C:/Program Files (x86)/ruby-1.9.3/lib/ruby/gems/1.9.1/gems/rdiscount-1.6.8 for inspection.
Results logged to C:/Program Files (x86)/ruby-1.9.3/lib/ruby/gems/1.9.1/gems/rdiscount-1.6.8/ext/gem_make.out

I have run the DevKit installation as indicated and it seems to work. Rails was previously working but now is not. Anybody have any suggestions on how to get this working? Or is it a case of uninstall and try over again?

Thanks

Paul


Solution

  • Seems you installed Ruby (along the DevKit?) inside a directory with spaces.

    As indicated during Ruby own installer, path with spaces are not recommended (that is why default is C:\Ruby193

    GCC, the compiler that is part of DevKit, has problems with path with spaces, so installation of DevKit is also recommended to be placed in a path without spaces (e.g. C:\DevKit)

    All this is mentioned in both RubyInstaller and DevKit installation instructions page