# Problem using ruby with c++

**URL:** <https://www.ruby-forum.com/t/problem-using-ruby-with-c/122112>\
**Category:** Ruby\
**Created:** [December 4, 2007, 5:47pm UTC](https://www.ruby-forum.com/t/problem-using-ruby-with-c/122112 "2007-12-04T17:47:04Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![Teofilo\_D](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/t/67e7ee/32.png) [@Teofilo\_D](https://www.ruby-forum.com/u/Teofilo_D)\
**Post date:** [December 4, 2007, 5:47pm UTC](https://www.ruby-forum.com/t/problem-using-ruby-with-c/122112/1 "2007-12-04T17:47:04Z")

</div>

Hi,

I’m trying to use a ruby script in c++ which uses the method get of a  
Net::HTTP object,  
when I run it(script) in prompt it works, but when I run it in C++ it  
returns an error in the get line.

ruby :

require “net/http”

# 

# some code…

# 

page = “[www.somepage.com](http://www.somepage.com)”  
port = 80  
param = “someparam”

conn = Net::HTTP.new(page,port)  
resp,data = conn.get(param) # get  
line 😛

# 

# some code…

# 

c++ :

ruby\_init();  
ruby\_script(“script”);

char \*args[] =  
{  
“param”,  
NULL  
};

ruby\_set\_argv((sizeof(args) / sizeof(args[0])) - 1, args);

ruby\_init\_loadpath();  
rb\_load\_file(“script.rb”);  
int status = ruby\_exec();

ruby\_cleanup(status);  
ruby\_finalize();

Error :

…/lib/ruby/1.8/net/http.rb:560:in `initialize': getaddrinfo: non-recoverab le failure in name resolution. (SocketError) from d:/ruby/lib/ruby/1.8/net/http.rb:560:in `connect’ from  
d:/ruby/lib/ruby/1.8/timeout.rb:48:in `timeout' from d:/ruby/lib/ruby/1.8/timeout.rb:76:in `timeout’ from  
d:/ruby/lib/ruby/1.8/net/http.rb:560:in `connect' from d:/ruby/lib/ruby/1.8/net/http.rb:553:in `do\_start’ from  
d:/ruby/lib/ruby/1.8/net/http.rb:542:in `start' from d:/ruby/lib/ruby/1.8/net/http.rb:1029:in `request’ from  
d:/ruby/lib/ruby/1.8/net/http.rb:769:in `get’ from script.rb:53

What’s missing ? or What’s wrong ? Why does the script work in prompt  
and  
not work in C++ ?

---

<div class="post-metadata">

**Author:** ![Teofilo\_D](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/t/67e7ee/32.png) [@Teofilo\_D](https://www.ruby-forum.com/u/Teofilo_D)\
**Post date:** [December 4, 2007, 11:06pm UTC](https://www.ruby-forum.com/t/problem-using-ruby-with-c/122112/2 "2007-12-04T23:06:27Z")

</div>

I solved the problem, the method NtInitialize() was missing before  
ruby\_init()

right code:

int argc = 0;  
char \*\*argv = 0;

NtInitialize(&argc,&argv);

ruby\_init();

…

2007/12/4, Teofilo D. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid):
