Hi Alex,<div><br></div><div>There's a lot of inconclusive stuff on the net about embedding Ruby 1.9, but one thing we've found we have to do (and this in a function that doesn't return, i.e. main()[1]), is call the RUBY_INIT_STACK macro.</div>
<div><br></div><div>In the system I'm working on, we also call ruby_sysinit(), but I don't have the full code in front of me, so I can't tinker with it. Anyway, here's our boot-up-ruby sequence:</div><div>
<br></div><div><div><span class="Apple-tab-span" style="white-space:pre">     </span>ruby_sysinit(&fake_argc, const_cast<char ***>(&fake_argv_star));</div><div><span class="Apple-tab-span" style="white-space:pre">       </span></div>
<div><span class="Apple-tab-span" style="white-space:pre">      </span>RUBY_INIT_STACK;</div><div><span class="Apple-tab-span" style="white-space:pre">     </span>ruby_init();</div><div><span class="Apple-tab-span" style="white-space:pre"> </span>ruby_init_loadpath();</div>
<div><br></div><div>Hope this helps. Let me know how you get on.</div><div><br></div><div>James</div><div><br></div><div>[1] <a href="http://www.ruby-forum.com/topic/149451">http://www.ruby-forum.com/topic/149451</a></div>
<div><br></div><br><div class="gmail_quote">2009/8/11 Alex MacCaw <span dir="ltr"><<a href="mailto:maccman@gmail.com">maccman@gmail.com</a>></span><br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
I'm trying to evaluate Ruby (1.9) from C++.<br><br>The code looks something like this:<br><br>    rb_eval_string_protect("require 'thread'; m = Mutex.new; m.synchronize {};", &error);<br><br>The error I get is: undefined method `synchronize' for #<Mutex:0x1f8cf4><br>

<br>It looks like the mutex class (which is written in C) isn't getting loaded properly. Anybody got any ideas as to why?<div><br></div><div>The code works fine in Ruby 1.8<br><br><a href="http://pastie.org/579760" target="_blank">http://pastie.org/579760</a><br>

<br>--<br><a href="http://www.leadthinking.com" target="_blank">http://www.leadthinking.com</a> | <a href="http://socialmod.com" target="_blank">http://socialmod.com</a><br></div>
<br>_______________________________________________<br>
Chat mailing list<br>
<a href="mailto:Chat@lists.lrug.org">Chat@lists.lrug.org</a><br>
<a href="http://lists.lrug.org/listinfo.cgi/chat-lrug.org" target="_blank">http://lists.lrug.org/listinfo.cgi/chat-lrug.org</a><br>
<br></blockquote></div><br></div>