Yukihiro Matsumoto wrote:

> In dln.c, we have the compile condition that add "_" if the value of
> predefined __FreeBSD__ is less than 3.  Since you're using FreeBSD
> 4.0, dln.c should NOT add "_" before identifiers.  Funny.
>
> It seems your Ruby has been compiled in wrong way.  Did you compile it
> by yourself?  Or using ports or something?

I compiled it myself -- the usual ./configure; make; make install routine. I think this is
the same way I built 1.6.3, which works okay.

>
>
> Could you try the following and send me the result?
>
>   % gcc -E -dM -x c /dev/null
>

Here it is. Hmm... __FreeBSD__ is definitely less than 3:

$ gcc -E -dM -x c /dev/null
#define __FreeBSD__ 1
#define __i386__ 1
#define __i386 1
#define __GNUC_MINOR__ 95
#define i386 1
#define __unix 1
#define __unix__ 1
#define __GNUC__ 2
#define __ELF__ 1
#define unix 1

I just remembered -- our installation does not have the same version of gcc that normally
is installed with FreeBSD 4.0 -- here is what we are using:

$ gcc --version
2.95.2

-- Bob