ruby-debug / ruby-debug-ide

An interface which glues ruby-debug to IDEs like Eclipse (RDT), NetBeans and RubyMine.
https://www.jetbrains.com/ruby/features/ruby_debugger.html
Other
372 stars 83 forks source link

Error Installing ruby-debug-ide: Failed to build gem native extension. #106

Open MichaelStankiewicz opened 7 years ago

MichaelStankiewicz commented 7 years ago

OS_VERSION: Windows 2012R2

RUBY_VERSION: 2.3.0

LOCAL_GEMS: The following illustrates that I have the dependencies met, from a GEM perspective. This information is interesting, since the error details seem to indicate that the debase dependency isn't met, which it obviously is.

C:\Users\Administrator>gem list --local debase

LOCAL GEMS

debase (0.2.2.beta10, 0.2.1) debase-ruby_core_source (0.9.9)

ERROR_DETAILS: C:\Users\Administrator>gem install ruby-debug-ide -v 0.6.0 -p http://myproxy:80

WARNING: You don't have c:\users\administrator.gem\ruby\2.3.0\bin in your PATH , gem executables will not run. Temporarily enhancing PATH to include DevKit... Building native extensions. This could take a while... ERROR: Error installing ruby-debug-ide: ERROR: Failed to build gem native extension.

current directory: C:/Users/Administrator/.gem/ruby/2.3.0/gems/ruby-debug-id

e-0.6.0/ext C:/Ruby23/bin/ruby.exe mkrf_conf.rb Installing base gem Unable to resolve dependency: user requested 'debase (> 0)' C:/Ruby23/lib/ruby/site_ruby/2.3.0/rubygems/resolver.rb:231:in search_for' C:/Ruby23/lib/ruby/site_ruby/2.3.0/rubygems/resolver.rb:263:inblock in sort_ dependencies' C:/Ruby23/lib/ruby/site_ruby/2.3.0/rubygems/resolver.rb:257:in each' C:/Ruby23/lib/ruby/site_ruby/2.3.0/rubygems/resolver.rb:257:insort_by' C:/Ruby23/lib/ruby/site_ruby/2.3.0/rubygems/resolver.rb:257:in sort_dependenc ies' C:/Ruby23/lib/ruby/site_ruby/2.3.0/rubygems/resolver/molinillo/lib/molinillo/d elegates/specification_provider.rb:52:inblock in sort_dependencies' C:/Ruby23/lib/ruby/site_ruby/2.3.0/rubygems/resolver/molinillo/lib/molinillo/d elegates/specification_provider.rb:69:in with_no_such_dependency_error_handling ' C:/Ruby23/lib/ruby/site_ruby/2.3.0/rubygems/resolver/molinillo/lib/molinillo/d elegates/specification_provider.rb:51:insort_dependencies' C:/Ruby23/lib/ruby/site_ruby/2.3.0/rubygems/resolver/molinillo/lib/molinillo/r esolution.rb:165:in initial_state' C:/Ruby23/lib/ruby/site_ruby/2.3.0/rubygems/resolver/molinillo/lib/molinillo/r esolution.rb:106:instart_resolution' C:/Ruby23/lib/ruby/site_ruby/2.3.0/rubygems/resolver/molinillo/lib/molinillo/r esolution.rb:64:in resolve' C:/Ruby23/lib/ruby/site_ruby/2.3.0/rubygems/resolver/molinillo/lib/molinillo/r esolver.rb:42:inresolve' C:/Ruby23/lib/ruby/site_ruby/2.3.0/rubygems/resolver.rb:188:in resolve' C:/Ruby23/lib/ruby/site_ruby/2.3.0/rubygems/request_set.rb:368:inresolve' C:/Ruby23/lib/ruby/site_ruby/2.3.0/rubygems/dependency_installer.rb:484:in re solve_dependencies' C:/Ruby23/lib/ruby/site_ruby/2.3.0/rubygems/dependency_installer.rb:384:inin stall' mkrf_conf.rb:35:in rescue in <main>' mkrf_conf.rb:28:in

'

rake failed, exit code 1

Gem files will remain installed in C:/Users/Administrator/.gem/ruby/2.3.0/gems/r uby-debug-ide-0.6.0 for inspection. Results logged to C:/Users/Administrator/.gem/ruby/2.3.0/extensions/x86-mingw32/ 2.3.0/ruby-debug-ide-0.6.0/gem_make.out

wellington1993 commented 7 years ago

I have the same problem:

Using ruby-debug-ide 0.6.1.beta5 from https://github.com/ruby-debug/ruby-debug-ide.git (at master@da5c619) Building native extensions. This could take a while...

But at Ubuntu. I think is related to the ruby version. I'm using the latest.

@MichaelStankiewicz Did you try downgrade ruby version. I can't do a downgrade because I already use latest new Rails features :-)

I need help to make the gem functional at my environment.

Thanks.

MichaelStankiewicz commented 7 years ago

@wellington1993 I've tried with both Ruby v2.4.1 (I'm running the Chef DK on my workstation) and Ruby v2.3.0. Do you have a specific version in mind that may work?

wellington1993 commented 7 years ago

Hi @MichaelStankiewicz,

For me only work with Ruby versions <= 2.4.1 Just not work with higher versions.

My working version of gems(Rbenv + Ruby 2.4.1 + Rails 5.0.5):

  gem 'debase'
  gem 'ruby-debug-base', :platforms => [:jruby, :ruby_18, :mingw_18]
  gem 'ruby-debug-base19x', '>= 0.11.30.pre4', :platforms => [:ruby_19, :mingw_19]
  gem 'ruby-debug-ide', '~> 0.6.0'
os97673 commented 7 years ago

2.4.1 is the latest ruby release what do you mean by "higher versions"?

wellington1993 commented 7 years ago

Hi,

@os97673 Higher including dev versions.

os97673 commented 7 years ago

if you want to use dev-revisions you have to provide ruby headers to debase yourself.

pddzaic commented 7 years ago

I have the same problem with 2.4.1:

Updating ruby-debug-ide
Building native extensions.  This could take a while...
ERROR:  Error installing ruby-debug-ide:
        ERROR: Failed to build gem native extension.

    current directory: C:/PortableApps/Ruby/2.4.1p111/lib/ruby/gems/2.4.0/gems/ruby-debug-ide-0.6.1.beta8/ext
C:/PortableApps/Ruby/2.4.1p111/bin/ruby.exe mkrf_conf.rb
Installing base gem
Building native extensions.  This could take a while...
Building native extensions.  This could take a while...
ERROR: Failed to build gem native extension.

    current directory: C:/PortableApps/Ruby/2.4.1p111/lib/ruby/gems/2.4.0/gems/debase-0.2.2.beta10/ext
C:/PortableApps/Ruby/2.4.1p111/bin/ruby.exe -r ./siteconf20170828-9424-qxgums.rb extconf.rb
checking for vm_core.h... *** 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:/PortableApps/Ruby/2.4.1p111/bin/$(RUBY_BASE_NAME)
        --with-ruby-dir
        --without-ruby-dir
        --with-ruby-include
        --without-ruby-include=${ruby-dir}/include
        --with-ruby-lib
        --without-ruby-lib=${ruby-dir}/lib
C:/PortableApps/Ruby/2.4.1p111/lib/ruby/2.4.0/mkmf.rb:457:in `try_do': The compiler failed to generate an executable file. (RuntimeError)
You have to install development tools first.
        from C:/PortableApps/Ruby/2.4.1p111/lib/ruby/2.4.0/mkmf.rb:588:in `try_cpp'
        from C:/PortableApps/Ruby/2.4.1p111/lib/ruby/2.4.0/mkmf.rb:1095:in `block in have_header'
        from C:/PortableApps/Ruby/2.4.1p111/lib/ruby/2.4.0/mkmf.rb:945:in `block in checking_for'
        from C:/PortableApps/Ruby/2.4.1p111/lib/ruby/2.4.0/mkmf.rb:351:in `block (2 levels) in postpone'
        from C:/PortableApps/Ruby/2.4.1p111/lib/ruby/2.4.0/mkmf.rb:321:in `open'
        from C:/PortableApps/Ruby/2.4.1p111/lib/ruby/2.4.0/mkmf.rb:351:in `block in postpone'
        from C:/PortableApps/Ruby/2.4.1p111/lib/ruby/2.4.0/mkmf.rb:321:in `open'
        from C:/PortableApps/Ruby/2.4.1p111/lib/ruby/2.4.0/mkmf.rb:347:in `postpone'
        from C:/PortableApps/Ruby/2.4.1p111/lib/ruby/2.4.0/mkmf.rb:944:in `checking_for'
        from C:/PortableApps/Ruby/2.4.1p111/lib/ruby/2.4.0/mkmf.rb:1094:in `have_header'
        from extconf.rb:31:in `block in <main>'
        from C:/PortableApps/Ruby/2.4.1p111/lib/ruby/gems/2.4.0/gems/debase-ruby_core_source-0.9.9/lib/debase/ruby_core_source.rb:15:in `create_makefile_with_core'
        from extconf.rb:47:in `<main>'

To see why this extension failed to compile, please check the mkmf.log which can be found here:

  C:/PortableApps/Ruby/2.4.1p111/lib/ruby/gems/2.4.0/extensions/x86-mingw32/2.4.0/debase-0.2.2.beta10/mkmf.log

extconf failed, exit code 1

Gem files will remain installed in C:/PortableApps/Ruby/2.4.1p111/lib/ruby/gems/2.4.0/gems/debase-0.2.2.beta10 for inspection.
Results logged to C:/PortableApps/Ruby/2.4.1p111/lib/ruby/gems/2.4.0/extensions/x86-mingw32/2.4.0/debase-0.2.2.beta10/gem_make.out
C:/PortableApps/Ruby/2.4.1p111/lib/ruby/2.4.0/rubygems/ext/builder.rb:92:in `run'
  C:/PortableApps/Ruby/2.4.1p111/lib/ruby/2.4.0/rubygems/ext/ext_conf_builder.rb:48:in `block in build'
  C:/PortableApps/Ruby/2.4.1p111/lib/ruby/2.4.0/tempfile.rb:295:in `open'
  C:/PortableApps/Ruby/2.4.1p111/lib/ruby/2.4.0/rubygems/ext/ext_conf_builder.rb:31:in `build'
  C:/PortableApps/Ruby/2.4.1p111/lib/ruby/2.4.0/rubygems/ext/builder.rb:164:in `block (2 levels) in build_extension'
  C:/PortableApps/Ruby/2.4.1p111/lib/ruby/2.4.0/rubygems/ext/builder.rb:163:in `chdir'
  C:/PortableApps/Ruby/2.4.1p111/lib/ruby/2.4.0/rubygems/ext/builder.rb:163:in `block in build_extension'
  C:/PortableApps/Ruby/2.4.1p111/lib/ruby/2.4.0/rubygems/ext/builder.rb:162:in `synchronize'
  C:/PortableApps/Ruby/2.4.1p111/lib/ruby/2.4.0/rubygems/ext/builder.rb:162:in `build_extension'
  C:/PortableApps/Ruby/2.4.1p111/lib/ruby/2.4.0/rubygems/ext/builder.rb:201:in `block in build_extensions'
  C:/PortableApps/Ruby/2.4.1p111/lib/ruby/2.4.0/rubygems/ext/builder.rb:198:in `each'
  C:/PortableApps/Ruby/2.4.1p111/lib/ruby/2.4.0/rubygems/ext/builder.rb:198:in `build_extensions'
  C:/PortableApps/Ruby/2.4.1p111/lib/ruby/2.4.0/rubygems/installer.rb:752:in `build_extensions'
  C:/PortableApps/Ruby/2.4.1p111/lib/ruby/2.4.0/rubygems/installer.rb:304:in `install'
  C:/PortableApps/Ruby/2.4.1p111/lib/ruby/2.4.0/rubygems/resolver/specification.rb:97:in `install'
  C:/PortableApps/Ruby/2.4.1p111/lib/ruby/2.4.0/rubygems/request_set.rb:166:in `block in install'
  C:/PortableApps/Ruby/2.4.1p111/lib/ruby/2.4.0/rubygems/request_set.rb:156:in `each'
  C:/PortableApps/Ruby/2.4.1p111/lib/ruby/2.4.0/rubygems/request_set.rb:156:in `install'
  C:/PortableApps/Ruby/2.4.1p111/lib/ruby/2.4.0/rubygems/dependency_installer.rb:405:in `install'
  mkrf_conf.rb:35:in `rescue in <main>'
  mkrf_conf.rb:28:in `<main>'

rake failed, exit code 1

Gem files will remain installed in C:/PortableApps/Ruby/2.4.1p111/lib/ruby/gems/2.4.0/gems/ruby-debug-ide-0.6.1.beta8 for inspection.
Results logged to C:/PortableApps/Ruby/2.4.1p111/lib/ruby/gems/2.4.0/extensions/x86-mingw32/2.4.0/ruby-debug-ide-0.6.1.beta8/gem_make.out
ViugiNick commented 6 years ago

@pddzaic, @wellington1993, @MichaelStankiewicz Is this problem still reproduce?

Himura2la commented 6 years ago

Looks like the dev kit is obligatory

https://github.com/ruby-debug/ruby-debug-ide/issues/140#issuecomment-376746682

this worked for me

@onipirate:

issue resolved

when I used ridk install for the msys2 devkit

I only installed the base installation

so you must install the 3rd option

Install MSYS2 and MINGW development toolchain succeeded

1 - MSYS2 base installation 2 - MSYS2 system update 3 - MSYS2 and MINGW development toolchain

Afterwards, installing the gems are now successful

athio92 commented 6 years ago

I had similar problem in Ubuntu 16.04, using Ruby version 2.3.1. The problem was "Failed to build gem Native extension" , followed with exit message "rake failed, exit code 1".

I solved it by updating my Rake from 10.5.0 to 12.3.1. After that, I tried installing ruby-debug-ide v0.6.1, and it works fine like magic.

Hearen commented 5 years ago

But It's just 12.3.1 already and it still failed as

current directory: /home/hearen/.gem/ruby/2.5.0/gems/ruby-debug-ide-0.7.0.beta7/ext
/usr/bin/ruby2.5 mkrf_conf.rb
Installing base gem
Building native extensions. This could take a while...

current directory: /home/hearen/.gem/ruby/2.5.0/gems/ruby-debug-ide-0.7.0.beta7/ext
/usr/bin/ruby2.5 -rrubygems /usr/share/rubygems-integration/all/gems/rake-12.3.1/exe/rake RUBYARCHDIR=/home/hearen/.gem/ruby/2.5.0/extensions/x86_64-linux/2.5.0/ruby-debug-ide-0.7.0.beta7 RUBYLIBDIR=/home/hearen/.gem/ruby/2.5.0/extensions/x86_64-linux/2.5.0/ruby-debug-ide-0.7.0.beta7
/usr/bin/ruby2.5: Is a directory -- /usr/share/rubygems-integration/all/gems/rake-12.3.1/exe/rake (LoadError)

rake failed, exit code 1

F.Y.I

$ ruby -v
ruby 2.5.1p57 (2018-03-29 revision 63029) [x86_64-linux]

Solved

$ gem install ruby-debug-ide --pre
$ gem list | grep ruby-debug
Ignoring debase-0.2.3.beta2 because its extensions are not built. Try: gem pristine debase --version 0.2.3.beta2
ruby-debug-ide (0.7.0.beta7)

By the way, it would be still an issue if you forgot to re-configure the IDE to the proper ruby SDK.

I followed this tutorial to install ruby: https://www.digitalocean.com/community/tutorials/how-to-install-ruby-on-rails-with-rbenv-on-ubuntu-18-04

argarner commented 5 years ago

I received the same error on Mac. Solution was to open Xcode and agree to latest terms & conditions + allow it to run through some component updates; afterwards gem install ruby-debug-ide worked as expected.