ruby-debug не будет устанавливать/создавать собственные расширения

Я искал решение повсюду. У меня установлены и linecache19, и ruby_core_source.

Ни одна из этих команд не будет работать:

gem install ruby-debug19
gem install ruby-debug19 -- --with-ruby-include=/Users/benjohnson/.rvm/src/ruby-1.9.1-p378

Вот ошибка, которую я продолжаю получать:

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

/Users/benjohnson/.rvm/rubies/ruby-1.9.1-p378/bin/ruby extconf.rb
checking for rb_method_entry_t.body in method.h... no
checking for vm_core.h... no
checking for rb_method_entry_t.body in method.h... no
checking for vm_core.h... yes
checking for iseq.h... yes
checking for insns.inc... yes
checking for insns_info.inc... yes
checking for eval_intern.h... yes
creating Makefile

make
gcc -I. -I/Users/benjohnson/.rvm/rubies/ruby-1.9.1-p378/include/ruby-1.9.1/i386-darwin10.4.0 -I/Users/benjohnson/.rvm/rubies/ruby-1.9.1-p378/include/ruby-1.9.1/ruby/backward -I/Users/benjohnson/.rvm/rubies/ruby-1.9.1-p378/include/ruby-1.9.1 -I. -DHAVE_VM_CORE_H -DHAVE_ISEQ_H -DHAVE_INSNS_INC -DHAVE_INSNS_INFO_INC -DHAVE_EVAL_INTERN_H -I/Users/benjohnson/.rvm/rubies/ruby-1.9.1-p378/include/ruby-1.9.1/ruby-1.9.1-p378 -fno-common  -O2 -g -Wall -Wno-parentheses  -fno-common -pipe -fno-common  -o breakpoint.o -c breakpoint.c
gcc -I. -I/Users/benjohnson/.rvm/rubies/ruby-1.9.1-p378/include/ruby-1.9.1/i386-darwin10.4.0 -I/Users/benjohnson/.rvm/rubies/ruby-1.9.1-p378/include/ruby-1.9.1/ruby/backward -I/Users/benjohnson/.rvm/rubies/ruby-1.9.1-p378/include/ruby-1.9.1 -I. -DHAVE_VM_CORE_H -DHAVE_ISEQ_H -DHAVE_INSNS_INC -DHAVE_INSNS_INFO_INC -DHAVE_EVAL_INTERN_H -I/Users/benjohnson/.rvm/rubies/ruby-1.9.1-p378/include/ruby-1.9.1/ruby-1.9.1-p378 -fno-common  -O2 -g -Wall -Wno-parentheses  -fno-common -pipe -fno-common  -o ruby_debug.o -c ruby_debug.c
ruby_debug.c: In function ‘ruby_method_ptr’:
ruby_debug.c:141: error: ‘rb_method_entry_t’ undeclared (first use in this function)
ruby_debug.c:141: error: (Each undeclared identifier is reported only once
ruby_debug.c:141: error: for each function it appears in.)
ruby_debug.c:141: error: ‘method’ undeclared (first use in this function)
ruby_debug.c:142: warning: implicit declaration of function ‘rb_method_entry’
ruby_debug.c: In function ‘debug_event_hook’:
ruby_debug.c:719: error: ‘rb_method_entry_t’ undeclared (first use in this function)
ruby_debug.c:719: error: ‘me’ undeclared (first use in this function)
make: *** [ruby_debug.o] Error 1


Gem files will remain installed in /Users/benjohnson/.rvm/gems/ruby-1.9.1-p378/gems/ruby-debug-base19-0.11.24 for inspection.
Results logged to /Users/benjohnson/.rvm/gems/ruby-1.9.1-p378/gems/ruby-debug-base19-0.11.24/ext/ruby_debug/gem_make.out

person Binary Logic    schedule 15.11.2010    source источник
comment
Содержит ли `/Users/benjohnson/.rvm/gems/ruby-1.9.1-p378/gems/ruby-debug-base19-0.11.24/ext/ruby_debug/gem_make.out` какую-либо дополнительную информацию, которая еще не была выведена? в стандартный вывод?   -  person Ben Lee    schedule 15.11.2010
comment
Нет, те же самые сообщения об ошибках, что и выше. Ничего дополнительного.   -  person Binary Logic    schedule 16.11.2010
comment
У меня точно такая же проблема. Был бы рад любой помощи!   -  person bastibe    schedule 24.11.2010


Ответы (5)


У меня была такая же проблема (на 1.9.1 и 1.9.2). Даже попытка установить 0.11.23 вызвала ошибку. Я обнаружил, что необходимо:

  • Удалите драгоценный камень (все версии для меня):

    gem uninstall ruby-debug-base19

  • Удалите каталог 0.11.24 (в моем случае: ~/.rvm/gems/ruby-1.9.2-p0/gems/ruby-debug-base19-0.11.24/)

  • установить 0.11.23 явно:

    gem install ruby-debug-base19 --version=0.11.23

Здесь я нашел большую часть решения: http://rails.brentsowers.com/2010_08_01_archive.html

Кроме того, если вы используете Bundler:

У меня были проблемы, пока я не обновился до последней версии Bundler (1.0.2 => 1.0.7), поскольку он настаивал на установке ruby-debug-base19 v 0.11.24).

В вашем Gemfile убедитесь, что вы закрепили версию ruby-debug-base19:

gem "ruby-debug-base19", "0.11.23", :require => nil

person Jamie Cobbett    schedule 29.11.2010

Этот работает лучше всего для меня, потому что он не кажется слишком хакерским:

gem install ruby-debug19 -- --with-ruby-include=$rvm_path/src/ruby-1.9.2-head/

не забудьте установить $rvm_path. В моем случае последняя папка была ruby-1.9.3-head — выберите нужную.

получил этот ответ отсюда: ошибка установки ruby-debug: не удалось создать собственное расширение gem

person fotanus    schedule 16.02.2013
comment
+1 это сработало... просто убедитесь, что вы используете правильный каталог ruby... в моем случае это был $rvm_path/src/ruby-1.9.3-p448/ - person Orlando; 19.11.2013

в Debian/Ubuntu/Mint эту проблему можно решить, установив некоторые из этих пакетов (я не уверен, что вызывает проблему)

apt-get install libcurl4-openssl-dev libgcrypt11-dev libgnutls-dev libidn11-dev libldap2-dev librtmp-dev libtasn1-3-dev m4

person Tombart    schedule 08.01.2013
comment
Этот ограниченный набор мне тоже подошёл: apt-get install libcurl4-openssl-dev libgcrypt11-dev libgnutls-dev libidn11-dev libldap2-dev librtmp-dev libtasn1-3-dev m4 - person mrks; 05.04.2013

У вас установлен gcc и путь к gcc.exe указан в переменной среды PATH? Это решило аналогичную проблему для меня, возможно, это может быть и вашим решением!

person DarkDeny    schedule 24.12.2010

Для версии ruby, с которой я работал, мне пришлось добавить обе эти строки в мой Gemfile.

gem 'ruby-debug-base19', '0.11.23'

gem "ruby-debug19"
person Stackdump    schedule 08.03.2011