[Rubyinstaller-devel] RE: ruby one-click installer issue with extensions

Curt Hibbs curt at hibbs.com
Fri Jun 18 10:00:28 EDT 2004


Jeff Mitchell wrote:
> 
> Immediately after mailing y'all, I realized I should have given a
> minimal case rather than even mentioning my package.
> 
> Here we go.  With the below extension,
> 
> -- my mingw32-ruby, extension compiled with mingw32-ruby
>    --> success
> -- my mingw32-ruby, extension compiled with mswin32-ruby
>    --> success
> -- my mswin32-ruby, extension compiled with mingw32-ruby
>    --> success
> -- my mswin32-ruby, extension compiled with mswin32-ruby
>    --> success
> 
> -- one-click mswin32-ruby, extension compiled with mingw32-ruby
>    --> SEGFAULT
> -- one-click mswin32-ruby, extension compiled with mswin32-ruby
>    --> SEGFAULT
> 
> -----------------------------------
> # extconf.rb:
> require 'mkmf'
> create_makefile("myclass")
> 
> -----------------------------------
> # test.rb
> require './myclass.so'
> loop { MyClass.new }
> 
> -----------------------------------
> // myclass.c
> 
> #include "ruby.h"
> 
> struct MyStruct_
> {
>     int n ;
> } ;
> 
> typedef struct MyStruct_ MyStruct ;
> 
> void myclass_free(MyStruct* data)
> {
>     free(data) ;
> }
> 
> VALUE rb_myclass_initialize( VALUE self )
> {
>     MyStruct *data;
>     Data_Get_Struct(self, MyStruct, data);
>     return Qnil ;
> }
> 
> static VALUE rb_myclass_s_allocate(VALUE klass)
> {
>     MyStruct* data ;
>     VALUE obj = Data_Make_Struct(klass,
>                                  MyStruct,
>                                  0,
>                                  myclass_free,
>                                  data) ;
>     return obj ;
> }
> 
> VALUE cMyClass ;
> 
> void Init_myclass()
> {
>     cMyClass = rb_define_class("MyClass", rb_cObject) ;
>     rb_define_alloc_func(cMyClass, rb_myclass_s_allocate) ;
>     rb_define_method(cMyClass, "initialize", rb_myclass_initialize, 0) ;
> }
>     
> 
> 
> 
> 		
> __________________________________
> Do you Yahoo!?
> Yahoo! Mail - Helps protect you from nasty viruses.
> http://promotions.yahoo.com/new_mail
> 
> ---
> Incoming mail is certified Virus Free.
> Checked by AVG anti-virus system (http://www.grisoft.com).
> Version: 6.0.699 / Virus Database: 456 - Release Date: 6/4/2004
> 


More information about the Rubyinstaller-devel mailing list