Issue #10906 has been updated by Naohisa Goto.


Thanks.
The output of the commands suggest that the macro INFINITY was defined when compiling numeric.c but was not defined when compiling ext/date/date_core.c.
I still couldn't find why.

INFINITY is C99 feature, and whether INFINITY is already defined or not is checked in include/ruby/missing.h: 

~~~
#ifdef INFINITY
# define HAVE_INFINITY
#else
/** @internal */
RUBY_EXTERN const union bytesequence4_or_float rb_infinity;
# define INFINITY (rb_infinity.float_value)
#endif
~~~

The concrete definition of rb_infinity is in numeric.c:

~~~
#ifdef HAVE_INFINITY
#elif !defined(WORDS_BIGENDIAN) /* BYTE_ORDER == LITTLE_ENDIAN */
const union bytesequence4_or_float rb_infinity = {{0x00, 0x00, 0x80, 0x7f}};
#else
const union bytesequence4_or_float rb_infinity = {{0x7f, 0x80, 0x00, 0x00}};
#endif
~~~


----------------------------------------
Bug #10906: Problem building on Solaris 10 - symbol rb_infinity not found
https://bugs.ruby-lang.org/issues/10906#change-51726

* Author: Daniel Berger
* Status: Feedback
* Priority: Normal
* Assignee: 
* ruby -v: ruby 2.2.0
* Backport: 2.0.0: UNKNOWN, 2.1: UNKNOWN, 2.2: UNKNOWN
----------------------------------------
Hi,

Solaris 10
gcc 4.8
ruby 2.2.0 current stable

I did configure/make, and it works until it tries to generate rdoc:    

    Generating RDoc documentation
    /export/home/djberge/Downloads/Ruby/ruby-2.2.0/.ext/common/date.rb:3:in `require': ld.so.1: ruby: fatal: relocation error: file /export/home/djberge/Downloads/Ruby/ruby-2.2.0/.ext/i386-solaris2.10/date_core.so: symbol rb_infinity: referenced symbol not found - /export/home/djberge/Downloads/Ruby/ruby-2.2.0/.ext/i386-solaris2.10/date_core.so (LoadError)
        from /export/home/djberge/Downloads/Ruby/ruby-2.2.0/.ext/common/date.rb:3:in `<top (required)>'
        from /export/home/djberge/Downloads/Ruby/ruby-2.2.0/lib/time.rb:1:in `require'
        from /export/home/djberge/Downloads/Ruby/ruby-2.2.0/lib/time.rb:1:in `<top (required)>'
        from /export/home/djberge/Downloads/Ruby/ruby-2.2.0/lib/rdoc/rdoc.rb:6:in `require'
        from /export/home/djberge/Downloads/Ruby/ruby-2.2.0/lib/rdoc/rdoc.rb:6:in `<top (required)>'
        from ./bin/rdoc:16:in `require'
        from ./bin/rdoc:16:in `<main>'
make: *** [rdoc] Error 1



-- 
https://bugs.ruby-lang.org/