FXRuby on Solaris 9

From: Lyle Johnson [mailto:lyle@users.sourceforge.net]

No, that’s a new one for me too. That line of opengl_wrap.cpp
is making
use of the macro ALLOCA_N which is defined in “ruby.h”, but the macro
just turns around and calls the alloca() function (a semi-standard C
library function). And for some reason it hasn’t seen a
declaration of
alloca() by that point in the compilation.

Between your post Lyle and this from Guy:

if defined(HAVE_ALLOCA_H) && !defined(GNUC)
#include <alloca.h>
#endif

Something struck me about the warnings with gcc 3.1:

cc1: warning: changing search order for system directory
“/usr/local/include”
cc1: warning: as it has already been specified as a non-system
directory

I have been able to ignore this bug/feature in the past, but guessing that
they might be the culprit, I rebuilt using gcc 2.95.3. Sure enough, that
worked. It appears that it simply wasn’t including that header (or any?)
from /usr/include.

Trying to ‘require fox’ gives me ld errors, however, which I haven’t tracked
down yet. Could be because I built fox with gcc 3.1 and fxruby with 2.95.
We’ll see how it goes.

Regards,

Dan

···

-----Original Message-----

Berger, Daniel wrote:

Trying to ‘require fox’ gives me ld errors, however, which I haven’t tracked
down yet. Could be because I built fox with gcc 3.1 and fxruby with 2.95.

No, that’s definitely not going to work (building FOX and FXRuby with
two different versions of gcc). In case you haven’t heard, gcc has been
changing its C++ ABI (application binary interface) with almost every
new release. Yesterday, they released gcc 3.2 (see
GCC 3.2 Release Series — Changes, New Features, and Fixes - GNU Project) which, hopefully, will finally
stabilize the ABI – but I’m not holding my breath :wink:

Short story long:

You are almost certainly going to need to go back and recompile either
FOX or FXRuby (your choice :wink: so that they’re built with the same
version of gcc.