Hi All,

I have had some limited success going back and forth between the c framework, 
objective-c wrapper and MacRuby. 

I am getting numerous malloc errors when I start up the application. The 
application sort of runs after the first malloc error but after the second 
error it crashes almost immediately. 


2010-10-29 21:31:06.323 YYY[3585:a0f] awaking the Phidgets
YYY(3585,0x10374d000) malloc: *** auto malloc[3585]: error: GC operation on 
unregistered thread. Thread registered implicitly. Break on 
auto_zone_thread_registration_error() to debug.

2010-10-29 21:31:06.469 YYY[3585:5003] phidget Added
2010-10-29 21:31:06.563 YYY[3585:a0f] Phidget Added!
2010-10-29 21:31:06.563 YYY[3585:a0f] input changed
2010-10-29 21:31:06.564 YYY[3585:a0f] input changed
2010-10-29 21:31:06.564 YYY[3585:a0f] input changed
2010-10-29 21:31:06.565 YYY[3585:a0f] input changed
2010-10-29 21:31:06.567 YYY[3585:a0f] input changed
2010-10-29 21:31:06.568 YYY[3585:a0f] input changed
2010-10-29 21:31:06.568 YYY[3585:a0f] input changed
2010-10-29 21:31:06.568 YYY[3585:a0f] input changed
YYY(3585,0x115944000) malloc: *** auto malloc[3585]: error: GC operation on 
unregistered thread. Thread registered implicitly. Break on 
auto_zone_thread_registration_error() to debug.

2010-10-29 21:31:16.595 YYY[3585:a0f] -[NSRegion InputChange:]: unrecognized 
selector sent to instance 0x200609f60
2010-10-29 21:31:16.596 YYY[3585:a0f] -[NSRegion InputChange:]: unrecognized 
selector sent to instance 0x200609f60
2010-10-29 21:31:16.914 YYY[3585:a0f] -[NSRegion InputChange:]: unrecognized 
selector sent to instance 0x200609f60
2010-10-29 21:31:16.915 YYY[3585:a0f] -[NSRegion InputChange:]: unrecognized 
selector sent to instance 0x200609f60


I have read the malloc errors come from problems with the threading in the c 
libraries but I am not sure if there is anything I can do to fix this. Am I 
stuck with this error or is there a way around it?

Thanks,

Shaun




On 2010-10-24, at 12:17 AM, Mario Steele wrote:

> Hey Shaun,
> 
> On Sun, Oct 24, 2010 at 1:14 AM, Shaun August <sh...@eoslightmedia.com> wrote:
> Hi Again,
> 
> I have spent some time with Nick's tutorial and I am looking into wrapping 
> the framework I have been provided with and I have a few more questions. 
> 
> The framework I am working with is already compiled and not in an xcode file. 
> I am guessing all I need to do is write the Objective-C wrapper?
> 
> Yeah, all you have to worry about, is writing the wrapper, as it is what I 
> did with my code writing for my wrapper.
>  
> The other issue I am having is the framework only contains one header file 
> which links out to a series of files contained in a system extension. 
> 
> The header file, is all you need to import, as it should define all public 
> API Access you need, including structs, to interface with the binary library.
>  
> Am I able to write my wrapper in an Objective-C class from within my macruby 
> application or do I need to create a bundle and import that into my project.
> 
> You will need to write Pure Objective-C code for the API Access, but the code 
> can be included with your macruby application, in the project itself.  What 
> will happen, is when you compile the main Objective C File, Main.m, it'll 
> compile all the other Objective C files into the binary executable, that will 
> eventually run your rb_main.rb file.  It'll give all the access of your 
> Objective C libraries that you wrote, right within your application.
> 
> hth,
> 
> Mario
>  
> Thanks,
> 
> Shaun
> 
> 
> 
> 
> On 2010-10-19, at 10:12 PM, Mario Steele wrote:
> 
>> Hello Shaun,
>> 
>> On Wed, Oct 20, 2010 at 12:00 AM, Shaun August <sh...@eoslightmedia.com> 
>> wrote:
>> Hi Robert,
>> 
>> Thanks! That make sense. All those cocoa classes have capitals and they work 
>> fine. I seem to be able to call from the framework but I am running into an 
>> undefined method 'extern'. I have also read somewhere that extern doesn't 
>> work with MacRuby. Is that correct? The framework I am dealing with is 
>> calling C functions and I am having trouble accessing them.
>> 
>> extern is a macro for the ld library, to export an API Address in the 
>> Dynamic library, that can be access dynamically at run time.  With 
>> Objective-C, or more so specifically with MacRuby, you need to write a sort 
>> of thin wrapper around C Functions in Objective C, in order to access said 
>> Functions.  So if the framework that you are working with, doesn't expose 
>> Objective C API Functions, you'll need to write a thin wrapper in order to 
>> access them.  See the tutorial done by Nick Ludlam about wrapping the TagLib 
>> C Library, in Objective C.  You can find it here: 
>> http://www.macruby.org/documentation/reading-an-mp3-with-macruby.html  It's 
>> best to read through the entire article, as it gives you information about 
>> wrapping C Functions in Objective C, which is quite useful, when writing 
>> your own wrapper.
>> 
>> hth,
>> 
>> Mario
>>  
>> Thanks,
>> 
>> Shaun
>> 
>> 
>> On 2010-10-19, at 8:26 PM, Robert Rice wrote:
>> 
>> > Hi Shaun:
>> >
>> > Lower case method names is only a convention. MacRuby will work fine using 
>> > upper case, i.e., constant, method names.
>> > I know because I only recently changed my project to conform to the 
>> > convention.
>> >
>> > Bob Rice
>> >
>> >
>> > On Oct 19, 2010, at 7:17 PM, Shaun August wrote:
>> >
>> >> Hi There,
>> >>
>> >> I am attempting to work with a framework provided by a USB device 
>> >> manufacturer and all of their method names start with capitols and I am 
>> >> wondering about the easiest way to access these methods through macruby. 
>> >> I remember reading somewhere about fixing the constants in Obj-C but I 
>> >> cannot locate the information.
>> >>
>> >> Does anyone have any suggestions as to how to remedy this? Should I 
>> >> rename every command in the framework?
>> >>
>> >> Thanks,
>> >>
>> >> Shaun
>> >>
>> >> _______________________________________________
>> >> MacRuby-devel mailing list
>> >> MacRuby-devel@lists.macosforge.org
>> >> http://lists.macosforge.org/mailman/listinfo.cgi/macruby-devel
>> >>
>> >
>> > _______________________________________________
>> > MacRuby-devel mailing list
>> > MacRuby-devel@lists.macosforge.org
>> > http://lists.macosforge.org/mailman/listinfo.cgi/macruby-devel
>> 
>> _______________________________________________
>> MacRuby-devel mailing list
>> MacRuby-devel@lists.macosforge.org
>> http://lists.macosforge.org/mailman/listinfo.cgi/macruby-devel
>> 
>> 
>> 
>> -- 
>> Mario Steele
>> Lieutenant Commander 3 
>> XO - Geo 99
>> XO - STO IFT Fleet
>> http://www.trekfederation.com
>> http://geo99.ruby-im.net
>> 
>> _______________________________________________
>> MacRuby-devel mailing list
>> MacRuby-devel@lists.macosforge.org
>> http://lists.macosforge.org/mailman/listinfo.cgi/macruby-devel
> 
> 
> _______________________________________________
> MacRuby-devel mailing list
> MacRuby-devel@lists.macosforge.org
> http://lists.macosforge.org/mailman/listinfo.cgi/macruby-devel
> 
> 
> 
> 
> -- 
> Mario Steele
> Lieutenant Commander 3 
> XO - Geo 99
> XO - STO IFT Fleet
> http://www.trekfederation.com
> http://geo99.ruby-im.net
> 
> _______________________________________________
> MacRuby-devel mailing list
> MacRuby-devel@lists.macosforge.org
> http://lists.macosforge.org/mailman/listinfo.cgi/macruby-devel

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

Reply via email to