From: Niklas Frykholm Date: 2001-10-06T02:29:39+09:00 Subject: [ruby-talk:22131] FXRuby does not compile -- problem with ruby source FXRuby 1.74 does not compile for me, under the latest ruby CVS using gcc 2.96-0.62 on Mandrake. The reason is that the -fno-strict-prototype flag is not supported by the C++ compiler and as a result some of the prototypes in the ruby headers are misinterpreted. Some of these issues were fixed from 1.6.5 to 1.7, but apparantly, some still remain. cc1plus: warning: -fno-strict-prototype is no longer supported FXRuby.cpp: In function `long int FXRbHandleMessage (FXObject *, const char *, FXObject *, unsigned int, void *)': FXRuby.cpp:770: cannot convert `VALUE (*) (long unsigned int)' to `VALUE (*) (...)' for argument `1' to `rb_rescue2 (VALUE (*) (...), long unsigned int, VALUE (*) (...), long unsigned int, ...)' The problem seems to be that ruby uses #define ANYARGS ... as the argument list for a callback function with unspecified arguments. But g++ does not interpret this as a callback function with unspecified arguments, but as a callback function with (...) as argument. In the long run I think the best solution would be if the header files spelled out the arguments of callbacks instead of using the ANYARGS macro. Until then, does anyone have an idea on how to fix this quickly? // Niklas