Search code examples
rubymakefiledevkit

Ruby DevKit problems


I have some troubles with the DevKit installation. Basically, it's not working. I've installed it by the books but the installation fails the test:

gem install rdiscount --platform=ruby

returns the following error:

C:\Ruby 1.9.3-p327\DevKit>gem install rdiscount --platform=ruby
Building native extensions.  This could take a while...
ERROR:  Error installing rdiscount:
        ERROR: Failed to build gem native extension.

        "C:/Ruby 1.9.3-p327/bin/ruby.exe" extconf.rb
checking for random()... no
checking for srandom()... no
checking for rand()... yes
checking for srand()... yes
creating Makefile

make
Makefile:219: *** multiple target patterns.  Stop.


Gem files will remain installed in C:/Ruby 1.9.3-p327/lib/ruby/gems/1.9.1/gems/r
discount-1.6.8 for inspection.
Results logged to C:/Ruby 1.9.3-p327/lib/ruby/gems/1.9.1/gems/rdiscount-1.6.8/ex
t/gem_make.out

Also this is of no use. everything is fine there.

The gem_make.out contains this :

"C:/Ruby 1.9.3-p327/bin/ruby.exe" extconf.rb
checking for random()... no
checking for srandom()... no
checking for rand()... yes
checking for srand()... yes
creating Makefile

make
Makefile:219: *** multiple target patterns.  Stop.

At this point I am going crazy. I try running just extconf.rb

C:\Ruby 1.9.3-p327\lib\ruby\gems\1.9.1\gems\rdiscount-1.6.8\ext>ruby extconf.rb
checking for random()... no
checking for srandom()... no
checking for rand()... yes
checking for srand()... yes
creating Makefile

No errors!

My OS is windows 7 x64! There are no other versions of Ruby or DevKit installed on the system and this is the PATH

PATH=C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Program Files\Intel\WiFi\bin\;C:\Program Files\Common Files\Intel\WirelessCommon\;C:\Ruby 1.9.3-p327\bin;C:\Program Files\Intel\WiFi\bin\;C:\Program Files\Common Files\Intel\WirelessCommon\;C:\pik;C:\Ruby 1.9.3-p327\DevKit\bin;C:\Ruby 1.9.3-p327\DevKit\mingw\bin

Solution

  • I may be wrong but I think the Ruby installation path is being read as two different arguments, effectively "C:/Ruby" "1.9.3-p327/bin/ruby.exe" because the path has not been escaped (is that the right word? Wrapped in quotes basically).

    I suggest you take a look at a similar question on Stack Overflow. I had exactly the same problem as you, and this solution solved it straight-away.