All -
I am trying to build 1.8.6-p36 (from the .tar.bz2 source) on
Solaris Developer Express using the Sun Studio 12 compiler. If I try
to configure it with “–enable-pthread” it fails to build with
errors in eval.c:
merlin:/home/…/ruby-1.8.6-p36 97> make
/opt/SUNWspro/bin/cc -g -W0,-xgnuasm -xO3 -xbuiltin=%all
-xinline=%auto -xprefetch=auto -xdepend -xtarget=pentium4
-I/usr/sfw/include -I/usr/local/include -DRUBY_EXPORT -I. -I. -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
If I configure it without “–enable-pthread”, I get quite a few
warnings, mostly of this type:
line xxxx: warning: statement not reached
and then some “ld” errors in building dl.c:
/opt/SUNWspro/bin/cc -I. -I…/… -I…/…/. -I…/…/./ext/dl
-DHAVE_DLFCN_H -DHAV
E_DLOPEN -DHAVE_DLCLOSE -DHAVE_DLSYM -DHAVE_DLERROR -I. -KPIC -g
-W0,-xgnuasm -
xO3 -xbuiltin=%all -xinline=%auto -xprefetch=auto -xdepend
-xtarget=pentium4 -I/
usr/sfw/include -I/usr/local/include -c dl.c
“cbtable.func”, line 1: warning: assignment type mismatch:
pointer to void “=” pointer to function(long, long, long, long,
long, long,
long, long, long, long, long, long, long, long, long) returning void
“cbtable.func”, line 2: warning: assignment type mismatch:
pointer to void “=” pointer to function(long, long, long, long,
long, long,
long, long, long, long, long, long, long, long, long) returning void
“cbtable.func”, line 3: warning: assignment type mismatch:
pointer to void “=” pointer to function(long, long, long, long,
long, long,
long, long, long, long, long, long, long, long, long) returning void
“cbtable.func”, line 4: warning: assignment type mismatch:
pointer to void “=” pointer to function(long, long, long, long,
long, long,
long, long, long, long, long, long, long, long, long) returning void
“cbtable.func”, line 5: warning: assignment type mismatch:
pointer to void “=” pointer to function(long, long, long, long,
long, long,
long, long, long, long, long, long, long, long, long) returning void
The build completes successfully, and “make check” gives these errors:
Finished in 95.708688 seconds.
-
Error:
test_AES(OpenSSL::TestCipher):
RuntimeError: unsupported cipher algorithm (AES-256-ECB)
/home/markea/src/ruby-1.8.6/.ext/common/openssl/cipher.rb:38:in
initialize' /home/markea/src/ruby-1.8.6/.ext/common/openssl/cipher.rb:38:in
initialize’
./test/openssl/test_cipher.rb:81:innew' ./test/openssl/test_cipher.rb:81:in
test_AES’
./test/openssl/test_cipher.rb:80:ineach' ./test/openssl/test_cipher.rb:80:in
test_AES’ -
Error:
test_eof_0(OpenSSL::TestEOF1):
OpenSSL::SSL::SSLError: cipher or hash unavailable
./test/openssl/test_pair.rb:32:inconnect' ./test/openssl/test_pair.rb:32:in
client’
./test/openssl/test_pair.rb:45:inssl_pair' ./test/openssl/test_pair.rb:65:in
open_file’
/home/markea/src/ruby-1.8.6/test/ruby/ut_eof.rb:5:in `test_eof_0’ -
Error:
test_eof_1(OpenSSL::TestEOF1):
OpenSSL::SSL::SSLError: cipher or hash unavailable
./test/openssl/test_pair.rb:32:inconnect' ./test/openssl/test_pair.rb:32:in
client’
./test/openssl/test_pair.rb:45:inssl_pair' ./test/openssl/test_pair.rb:65:in
open_file’
/home/markea/src/ruby-1.8.6/test/ruby/ut_eof.rb:40:in
`test_eof_1’ -
Error:
test_eof_2(OpenSSL::TestEOF1):
OpenSSL::SSL::SSLError: cipher or hash unavailable
./test/openssl/test_pair.rb:32:inconnect' ./test/openssl/test_pair.rb:32:in
client’
./test/openssl/test_pair.rb:45:inssl_pair' ./test/openssl/test_pair.rb:65:in
open_file’
/home/markea/src/ruby-1.8.6/test/ruby/ut_eof.rb:87:in
`test_eof_2’ -
Error:
test_eof_3(OpenSSL::TestEOF1):
OpenSSL::SSL::SSLError: cipher or hash unavailable
./test/openssl/test_pair.rb:32:inconnect' ./test/openssl/test_pair.rb:32:in
client’
./test/openssl/test_pair.rb:45:inssl_pair' ./test/openssl/test_pair.rb:65:in
open_file’
/home/markea/src/ruby-1.8.6/test/ruby/ut_eof.rb:94:in
`test_eof_3’ -
Error:
test_eof_0(OpenSSL::TestEOF2):
OpenSSL::SSL::SSLError: cipher or hash unavailable
./test/openssl/test_pair.rb:32:inconnect' ./test/openssl/test_pair.rb:32:in
client’
./test/openssl/test_pair.rb:45:inssl_pair' ./test/openssl/test_pair.rb:76:in
open_file’
/home/markea/src/ruby-1.8.6/test/ruby/ut_eof.rb:5:in `test_eof_0’ -
Error:
test_eof_1(OpenSSL::TestEOF2):
OpenSSL::SSL::SSLError: cipher or hash unavailable
./test/openssl/test_pair.rb:32:inconnect' ./test/openssl/test_pair.rb:32:in
client’
./test/openssl/test_pair.rb:45:inssl_pair' ./test/openssl/test_pair.rb:76:in
open_file’
/home/markea/src/ruby-1.8.6/test/ruby/ut_eof.rb:40:in
`test_eof_1’ -
Error:
test_eof_2(OpenSSL::TestEOF2):
OpenSSL::SSL::SSLError: cipher or hash unavailable
./test/openssl/test_pair.rb:32:inconnect' ./test/openssl/test_pair.rb:32:in
client’
./test/openssl/test_pair.rb:45:inssl_pair' ./test/openssl/test_pair.rb:76:in
open_file’
/home/markea/src/ruby-1.8.6/test/ruby/ut_eof.rb:87:in
`test_eof_2’ -
Error:
test_eof_3(OpenSSL::TestEOF2):
OpenSSL::SSL::SSLError: cipher or hash unavailable
./test/openssl/test_pair.rb:32:inconnect' ./test/openssl/test_pair.rb:32:in
client’
./test/openssl/test_pair.rb:45:inssl_pair' ./test/openssl/test_pair.rb:76:in
open_file’
/home/markea/src/ruby-1.8.6/test/ruby/ut_eof.rb:94:in
`test_eof_3’ -
Error:
test_getc(OpenSSL::TestPair):
OpenSSL::SSL::SSLError: cipher or hash unavailable
./test/openssl/test_pair.rb:32:inconnect' ./test/openssl/test_pair.rb:32:in
client’
./test/openssl/test_pair.rb:45:inssl_pair' ./test/openssl/test_pair.rb:86:in
test_getc’ -
Error:
test_puts_empty(OpenSSL::TestPair):
OpenSSL::SSL::SSLError: cipher or hash unavailable
./test/openssl/test_pair.rb:32:inconnect' ./test/openssl/test_pair.rb:32:in
client’
./test/openssl/test_pair.rb:45:inssl_pair' ./test/openssl/test_pair.rb:135:in
test_puts_empty’ -
Error:
test_puts_meta(OpenSSL::TestPair):
OpenSSL::SSL::SSLError: cipher or hash unavailable
./test/openssl/test_pair.rb:32:inconnect' ./test/openssl/test_pair.rb:32:in
client’
./test/openssl/test_pair.rb:45:inssl_pair' ./test/openssl/test_pair.rb:121:in
test_puts_meta’ -
Error:
test_readall(OpenSSL::TestPair):
OpenSSL::SSL::SSLError: cipher or hash unavailable
./test/openssl/test_pair.rb:32:inconnect' ./test/openssl/test_pair.rb:32:in
client’
./test/openssl/test_pair.rb:45:inssl_pair' ./test/openssl/test_pair.rb:107:in
test_readall’ -
Error:
test_readline(OpenSSL::TestPair):
OpenSSL::SSL::SSLError: cipher or hash unavailable
./test/openssl/test_pair.rb:32:inconnect' ./test/openssl/test_pair.rb:32:in
client’
./test/openssl/test_pair.rb:45:inssl_pair' ./test/openssl/test_pair.rb:114:in
test_readline’ -
Error:
test_readpartial(OpenSSL::TestPair):
OpenSSL::SSL::SSLError: cipher or hash unavailable
./test/openssl/test_pair.rb:32:inconnect' ./test/openssl/test_pair.rb:32:in
client’
./test/openssl/test_pair.rb:45:inssl_pair' ./test/openssl/test_pair.rb:93:in
test_readpartial’ -
Failure:
test_cgi(TestWEBrickCGI)
[./test/webrick/test_cgi.rb:27:intest_cgi' /home/markea/src/ruby-1.8.6/lib/net/http.rb:1050:in
request’
/home/markea/src/ruby-1.8.6/lib/net/http.rb:2133:in
reading_body' /home/markea/src/ruby-1.8.6/lib/net/http.rb:1049:in
request’
/home/markea/src/ruby-1.8.6/lib/net/http.rb:1034:inrequest' /home/markea/src/ruby-1.8.6/lib/net/http.rb:543:in
start’
/home/markea/src/ruby-1.8.6/lib/net/http.rb:1032:inrequest' ./test/webrick/test_cgi.rb:27:in
test_cgi’
./test/webrick/utils.rb:26:incall' ./test/webrick/utils.rb:26:in
start_server’
./test/webrick/utils.rb:34:instart_httpserver' ./test/webrick/test_cgi.rb:24:in
test_cgi’]:
<"/webrick.cgi"> expected but was
<"\n\n
Internal Server Error
\n Premature end of script headers: /home/markea/src/ruby-1.8.6/test/webrick/ webrick.cgi\n\n \n WEBrick/1.3.1 (Ruby/1.8.6/2007-03-13) OpenSSL/0.9.8a at\n 127.0.0.1:63178\n \n \n\n"> .
1611 tests, 16442 assertions, 1 failures, 15 errors
gmake: *** [test-all] Error 1
It does seem to work (I can run both ruby and irb, and existing
Rails apps seem to work fine) but I’d really like to understand why
I get so many errors.
Any hints/help would be appreciated.
Mark Almeida