Ok, I did one more try. This time on my notebook -- same distribution like 
before same gcc version (Arch Linux, gcc 3.4.1). Cast to void* removed from 
line 1145. Here it worked. Without segmentation fault. Nice. But I still 
don't know where to submit a bug report ;)

regards,
jochen



Am Dienstag 13 Juli 2004 19:32 schrieb Jochen Immend?rfer:
> Thank you two for answering.
>
> I already had the intention of submitting a bug report, but -- I just
> couldn't find such a possibility at rubyforge. Am I just blind? If you know
> where to submit a bug report, please tell me and I'll do.
>
> Btw. I removed the cast to void* from line 1145 and it did actually compile
> after then..
>
> But trying
>
> require 'Qt'
>
> in irb produces a segmentation fault :-(
>
> regards,
> jochen
>
> Am Dienstag 13 Juli 2004 19:14 schrieb Paul Brannan:
> > On Wed, Jul 14, 2004 at 01:40:23AM +0900, Jochen Immend?rfer wrote:
> > > Hi,
> > >
> > > I am trying to compile qtruby. Unfortunally it failed with the
> > > following error message:
> > >
> > > Qt.cpp: In function `VALUE initialize_qt(int, VALUE*, VALUE)':
> > > Qt.cpp:1145: error: ISO C++ forbids cast to non-reference type used as
> > > lvalue make[5]: *** [Qt.lo] Fehler 1
> >
> > I'm not a qtruby developer and I don't have Qt 3.2, so I can't check any
> > of this, but it looks like a bug.
> >
> > Lines 1144-1145 read:
> >
> >   smokeruby_object * p = 0;
> >     Data_Get_Struct(temp_obj, smokeruby_object, (void *) p);
> >
> > And this expands to:
> >
> >   smokeruby_object * p = 0;
> >   Check_Type(temp_obj, T_DATA); (void *) p =
> > (smokeruby_object*)DATA_PTR(temp_obj);
> >
> > Which is not valid C++ (older versions of g++ accept it, but neither
> > como nor g++ 3.4 does).
> >
> > There's really no good reason I can think of for the cast to void*,
> > anyway.  You should submit a bug report.
> >
> > Paul