Hi Mark,

On Sep 25, 2010, at 4:36 PM, Mark Rada wrote:

> Hi,
> 
> I've been working on a Ruby gem that I would eventually like to run on 
> MacRuby, but I seem to have run into a couple of issues and have no idea what 
> is going on. I would appreciate it if someone could take a look and see if I 
> am not understanding something obvious.
> 
> The gem is a SOAP client and uses Handsoap, which depends on one of a few 
> different http drivers, depending on what you want.
> 
> The default driver is curb, which does not compile successfully for MacRuby. 
> Normally you have to compile curb with a universal binary of libcurl, so I 
> suspect that architecture incompatibility has something to do with why the 
> build is failing. I get the following when I try to install with macgem:
> 
> /usr/bin/gcc -I. 
> -I/Library/Frameworks/MacRuby.framework/Versions/0.7/usr/include/ruby-1.9.2/universal-darwin10.0
>  
> -I/Library/Frameworks/MacRuby.framework/Versions/0.7/usr/include/ruby-1.9.2/ruby/backward
>  -I/Library/Frameworks/MacRuby.framework/Versions/0.7/usr/include/ruby-1.9.2 
> -I. -DRUBY_EXTCONF_H=\"curb_config.h\"  -fno-common -arch i386 -arch x86_64 
> -fexceptions -fno-common -pipe -O3 -g -Wall -I/opt/local/include -g -Wall 
> -arch i386 -arch x86_64 -o curb_multi.o -c curb_multi.c
> curb_multi.c: In function ‘rb_curl_multi_mark_all_easy’:
> curb_multi.c:38: warning: implicit declaration of function ‘rb_gc_mark’
> curb_multi.c: In function ‘curl_multi_free’:
> curb_multi.c:64: warning: implicit declaration of function ‘RHASH’
> curb_multi.c:64: error: invalid type argument of ‘->’
> curb_multi.c: In function ‘rb_curl_multi_mark_all_easy’:
> curb_multi.c:38: warning: implicit declaration of function ‘rb_gc_mark’
> curb_multi.c: In function ‘curl_multi_free’:
> curb_multi.c:64: warning: implicit declaration of function ‘RHASH’
> curb_multi.c:64: error: invalid type argument of ‘->’
> lipo: can't open input file: /var/tmp//ccbAYK9V.out (No such file or 
> directory)
> make: *** [curb_multi.o] Error 1

It looks like this C extension is using an element of the MRI C API that we do 
not support yet. I am guessing it's poking at the RHASH structure, which we 
won't probably support any time soon.

> The fallback driver http driver is net/http, but I get a weird problem that 
> seems to be MacRuby specific  when I try to run my test suite.
> 
> NoMethodError: private method `path_query' called for #<URI::HTTP:0x2005d9f00>
>    
> /Library/Frameworks/MacRuby.framework/Versions/0.7/usr/lib/ruby/Gems/1.9.2/gems/handsoap-1.1.7/lib/handsoap/http/drivers/net_http_driver.rb:13:in
>  `send_http_request:'

I believe you reported this problem on the tracker, it should be fixed in 
tonight's nightly build :)

Let us know if you have problems again.

Laurent
_______________________________________________
MacRuby-devel mailing list
MacRuby-devel@lists.macosforge.org
http://lists.macosforge.org/mailman/listinfo.cgi/macruby-devel

Reply via email to