UPDATED: Building 1.8.6-p36 with Sun Studio 12 compiler

All -
    I have resolved most of the problems encountered during "make
check"; it seems the test runs do not honor LD_LIBRARY_PATH, so I had
to symlink the libraries for openssl, gdbm and ncurses to /lib, and
then my results look like this

      Finished in 73.679603 seconds.

          1) Failure:
        test_delete(TestDBM) [./test/dbm/test_dbm.rb:332]:
        <DBMError> exception expected but none was thrown.

          2) Failure:
        test_delete(TestGDBM) [./test/gdbm/test_gdbm.rb:442]:
        <GDBMError> exception expected but none was thrown.

          3) Failure:
        test_s_open_error(TestGDBM) [./test/gdbm/test_gdbm.rb:200]:
        <Errno::EACCES> exception expected but none was thrown.

          4) Failure:
        test_should_propagate_signaled(TestBeginEndBlock) [./test/ruby/
test_beginendblock.rb:84]:
        <nil> expected but was
        <130>.

          5) Failure:
        test_s_open_error(TestSDBM) [./test/sdbm/test_sdbm.rb:123]:
        <Errno::EACCES> exception expected but none was thrown.

          6) Failure:
        test_condvar_wait_not_owner(TC_Thread) [./test/thread/
test_thread.rb:35]:
        <ThreadError> exception expected but none was thrown.

        1618 tests, 16599 assertions, 6 failures, 0 errors
        gmake: *** [test-all] Error 1

So it appears that most of the compiler warning messages are in fact
harmless. I would like to understand though why "--enable-pthread"
causes the backtrace error in eval.c:

eval.c
"eval.c", line 4482: warning: statement not reached
"eval.c", line 4517: warning: statement not reached
"eval.c", line 4644: warning: statement not reached
"eval.c", line 4702: warning: statement not reached
"eval.c", line 5151: warning: statement not reached
"eval.c", line 5614: warning: statement not reached
"eval.c", line 5740: warning: statement not reached
"eval.c", line 6251: identifier redeclared: backtrace
         current : static function() returning unsigned long
         previous: function(pointer to pointer to void, int)
returning int : "/usr/include/execinfo.h", line 41
"eval.c", line 8612: warning: loop not entered at top
"eval.c", line 12004: warning: statement not reached
"eval.c", line 12446: warning: statement not reached
"eval.c", line 12818: warning: statement not reached
gmake: *** [eval.o] Error 2

It seems to modify the includes such that /usr/include/execinfo.h gets
included, when without the "--enable-pthread" it doesn't (or some
other define "hides" the definition of backtrace).

Mark Almeida

···

cc: acomp failed for eval.c

Please send reports like this to ruby-core, where they can make a difference. Forwarding...

···

On Jun 14, 2007, at 11:55 , markea01@sbcglobal.net wrote:

All -
    I have resolved most of the problems encountered during "make
check"; it seems the test runs do not honor LD_LIBRARY_PATH, so I had
to symlink the libraries for openssl, gdbm and ncurses to /lib, and
then my results look like this

      Finished in 73.679603 seconds.

          1) Failure:
        test_delete(TestDBM) [./test/dbm/test_dbm.rb:332]:
        <DBMError> exception expected but none was thrown.

          2) Failure:
        test_delete(TestGDBM) [./test/gdbm/test_gdbm.rb:442]:
        <GDBMError> exception expected but none was thrown.

          3) Failure:
        test_s_open_error(TestGDBM) [./test/gdbm/test_gdbm.rb:200]:
        <Errno::EACCES> exception expected but none was thrown.

          4) Failure:
        test_should_propagate_signaled(TestBeginEndBlock) [./test/ruby/
test_beginendblock.rb:84]:
        <nil> expected but was
        <130>.

          5) Failure:
        test_s_open_error(TestSDBM) [./test/sdbm/test_sdbm.rb:123]:
        <Errno::EACCES> exception expected but none was thrown.

          6) Failure:
        test_condvar_wait_not_owner(TC_Thread) [./test/thread/
test_thread.rb:35]:
        <ThreadError> exception expected but none was thrown.

        1618 tests, 16599 assertions, 6 failures, 0 errors
        gmake: *** [test-all] Error 1

So it appears that most of the compiler warning messages are in fact
harmless. I would like to understand though why "--enable-pthread"
causes the backtrace error in eval.c:

eval.c
"eval.c", line 4482: warning: statement not reached
"eval.c", line 4517: warning: statement not reached
"eval.c", line 4644: warning: statement not reached
"eval.c", line 4702: warning: statement not reached
"eval.c", line 5151: warning: statement not reached
"eval.c", line 5614: warning: statement not reached
"eval.c", line 5740: warning: statement not reached
"eval.c", line 6251: identifier redeclared: backtrace
         current : static function() returning unsigned long
         previous: function(pointer to pointer to void, int)
returning int : "/usr/include/execinfo.h", line 41
"eval.c", line 8612: warning: loop not entered at top
"eval.c", line 12004: warning: statement not reached
"eval.c", line 12446: warning: statement not reached
"eval.c", line 12818: warning: statement not reached
cc: acomp failed for eval.c
gmake: *** [eval.o] Error 2

It seems to modify the includes such that /usr/include/execinfo.h gets
included, when without the "--enable-pthread" it doesn't (or some
other define "hides" the definition of backtrace).

Mark Almeida