Я пытаюсь привести пример встраивания интерпретатора ruby из книги по программированию на Ruby. Но это все еще не работает. У меня установлен Ruby с RVM.
Мои исходные файлы: https://gist.github.com/1635374
Рубиновая версия:
$ ruby -v
ruby 1.9.2p290 (2011-07-09 revision 32553) [i686-linux]
Расположение заголовочного файла Ruby:
$ locate ruby.h
...
/home/matej/.rvm/rubies/ruby-1.9.2-p290/include/ruby-1.9.1/ruby.h
/home/matej/.rvm/rubies/ruby-1.9.2-p290/include/ruby-1.9.1/ruby/ruby.h
...
Расположение библиотек Ruby:
$ locate libruby.so.1
/home/matej/.rvm/rubies/ruby-1.9.2-p290/lib/libruby.so.1.9
/home/matej/.rvm/rubies/ruby-1.9.2-p290/lib/libruby.so.1.9.1
Марка:
$ make
cc -I/home/matej/.rvm/rubies/ruby-1.9.2-p290/include/ruby-1.9.1/ -I/home/matej/.rvm/rubies/ruby-1.9.2-p290/include/ruby-1.9.1/i686-linux/ -g -c -o embed2.o embed2.c
cc -o embed2 embed2.o -shared -L/home/matej/.rvm/rubies/ruby-1.9.2-p290/lib -ldl -lruby1.9
Запустить программу:
$./embed2
Причины SIGSEGV.
Можете ли вы помочь мне, пожалуйста, найти, в чем проблема? Заранее спасибо.