[MacRuby-devel] Troubles getting some things to work

Laurent Sansonetti lsansonetti at apple.com
Tue Sep 28 14:34:46 PDT 2010


On Sep 28, 2010, at 11:29 AM, Mark Rada wrote:
> On 2010-09-28, at 1:22 AM, Laurent Sansonetti wrote:
> 
>> 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.
> 
> Should I create a ticket for this?

Why not... but I don't think it will be ever fixed :(

Laurent


More information about the MacRuby-devel mailing list