M
markea01
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.
1) 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:in `new'
./test/openssl/test_cipher.rb:81:in `test_AES'
./test/openssl/test_cipher.rb:80:in `each'
./test/openssl/test_cipher.rb:80:in `test_AES'
2) Error:
test_eof_0(OpenSSL::TestEOF1):
OpenSSL::SSL::SSLError: cipher or hash unavailable
./test/openssl/test_pair.rb:32:in `connect'
./test/openssl/test_pair.rb:32:in `client'
./test/openssl/test_pair.rb:45:in `ssl_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'
3) Error:
test_eof_1(OpenSSL::TestEOF1):
OpenSSL::SSL::SSLError: cipher or hash unavailable
./test/openssl/test_pair.rb:32:in `connect'
./test/openssl/test_pair.rb:32:in `client'
./test/openssl/test_pair.rb:45:in `ssl_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'
4) Error:
test_eof_2(OpenSSL::TestEOF1):
OpenSSL::SSL::SSLError: cipher or hash unavailable
./test/openssl/test_pair.rb:32:in `connect'
./test/openssl/test_pair.rb:32:in `client'
./test/openssl/test_pair.rb:45:in `ssl_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'
5) Error:
test_eof_3(OpenSSL::TestEOF1):
OpenSSL::SSL::SSLError: cipher or hash unavailable
./test/openssl/test_pair.rb:32:in `connect'
./test/openssl/test_pair.rb:32:in `client'
./test/openssl/test_pair.rb:45:in `ssl_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'
6) Error:
test_eof_0(OpenSSL::TestEOF2):
OpenSSL::SSL::SSLError: cipher or hash unavailable
./test/openssl/test_pair.rb:32:in `connect'
./test/openssl/test_pair.rb:32:in `client'
./test/openssl/test_pair.rb:45:in `ssl_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'
7) Error:
test_eof_1(OpenSSL::TestEOF2):
OpenSSL::SSL::SSLError: cipher or hash unavailable
./test/openssl/test_pair.rb:32:in `connect'
./test/openssl/test_pair.rb:32:in `client'
./test/openssl/test_pair.rb:45:in `ssl_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'
8) Error:
test_eof_2(OpenSSL::TestEOF2):
OpenSSL::SSL::SSLError: cipher or hash unavailable
./test/openssl/test_pair.rb:32:in `connect'
./test/openssl/test_pair.rb:32:in `client'
./test/openssl/test_pair.rb:45:in `ssl_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'
9) Error:
test_eof_3(OpenSSL::TestEOF2):
OpenSSL::SSL::SSLError: cipher or hash unavailable
./test/openssl/test_pair.rb:32:in `connect'
./test/openssl/test_pair.rb:32:in `client'
./test/openssl/test_pair.rb:45:in `ssl_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'
10) Error:
test_getc(OpenSSL::TestPair):
OpenSSL::SSL::SSLError: cipher or hash unavailable
./test/openssl/test_pair.rb:32:in `connect'
./test/openssl/test_pair.rb:32:in `client'
./test/openssl/test_pair.rb:45:in `ssl_pair'
./test/openssl/test_pair.rb:86:in `test_getc'
11) Error:
test_puts_empty(OpenSSL::TestPair):
OpenSSL::SSL::SSLError: cipher or hash unavailable
./test/openssl/test_pair.rb:32:in `connect'
./test/openssl/test_pair.rb:32:in `client'
./test/openssl/test_pair.rb:45:in `ssl_pair'
./test/openssl/test_pair.rb:135:in `test_puts_empty'
12) Error:
test_puts_meta(OpenSSL::TestPair):
OpenSSL::SSL::SSLError: cipher or hash unavailable
./test/openssl/test_pair.rb:32:in `connect'
./test/openssl/test_pair.rb:32:in `client'
./test/openssl/test_pair.rb:45:in `ssl_pair'
./test/openssl/test_pair.rb:121:in `test_puts_meta'
13) Error:
test_readall(OpenSSL::TestPair):
OpenSSL::SSL::SSLError: cipher or hash unavailable
./test/openssl/test_pair.rb:32:in `connect'
./test/openssl/test_pair.rb:32:in `client'
./test/openssl/test_pair.rb:45:in `ssl_pair'
./test/openssl/test_pair.rb:107:in `test_readall'
14) Error:
test_readline(OpenSSL::TestPair):
OpenSSL::SSL::SSLError: cipher or hash unavailable
./test/openssl/test_pair.rb:32:in `connect'
./test/openssl/test_pair.rb:32:in `client'
./test/openssl/test_pair.rb:45:in `ssl_pair'
./test/openssl/test_pair.rb:114:in `test_readline'
15) Error:
test_readpartial(OpenSSL::TestPair):
OpenSSL::SSL::SSLError: cipher or hash unavailable
./test/openssl/test_pair.rb:32:in `connect'
./test/openssl/test_pair.rb:32:in `client'
./test/openssl/test_pair.rb:45:in `ssl_pair'
./test/openssl/test_pair.rb:93:in `test_readpartial'
16) Failure:
test_cgi(TestWEBrickCGI)
[./test/webrick/test_cgi.rb:27:in `test_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:in `request'
/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:in `request'
./test/webrick/test_cgi.rb:27:in `test_cgi'
./test/webrick/utils.rb:26:in `call'
./test/webrick/utils.rb:26:in `start_server'
./test/webrick/utils.rb:34:in `start_httpserver'
./test/webrick/test_cgi.rb:24:in `test_cgi']:
<"/webrick.cgi"> expected but was
<"<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0//EN\">\n<HTML>\n
<HEAD><TITLE>In
ternal Server Error</TITLE></HEAD>\n <BODY>\n <H1>Internal
Server Error</H1>
\n Premature end of script headers:
/home/markea/src/ruby-1.8.6/test/webrick/
webrick.cgi\n <HR>\n <ADDRESS>\n WEBrick/1.3.1
(Ruby/1.8.6/2007-03-13)
OpenSSL/0.9.8a at\n 127.0.0.1:63178\n </ADDRESS>\n
</BODY>\n</HTML>\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
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.
1) 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:in `new'
./test/openssl/test_cipher.rb:81:in `test_AES'
./test/openssl/test_cipher.rb:80:in `each'
./test/openssl/test_cipher.rb:80:in `test_AES'
2) Error:
test_eof_0(OpenSSL::TestEOF1):
OpenSSL::SSL::SSLError: cipher or hash unavailable
./test/openssl/test_pair.rb:32:in `connect'
./test/openssl/test_pair.rb:32:in `client'
./test/openssl/test_pair.rb:45:in `ssl_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'
3) Error:
test_eof_1(OpenSSL::TestEOF1):
OpenSSL::SSL::SSLError: cipher or hash unavailable
./test/openssl/test_pair.rb:32:in `connect'
./test/openssl/test_pair.rb:32:in `client'
./test/openssl/test_pair.rb:45:in `ssl_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'
4) Error:
test_eof_2(OpenSSL::TestEOF1):
OpenSSL::SSL::SSLError: cipher or hash unavailable
./test/openssl/test_pair.rb:32:in `connect'
./test/openssl/test_pair.rb:32:in `client'
./test/openssl/test_pair.rb:45:in `ssl_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'
5) Error:
test_eof_3(OpenSSL::TestEOF1):
OpenSSL::SSL::SSLError: cipher or hash unavailable
./test/openssl/test_pair.rb:32:in `connect'
./test/openssl/test_pair.rb:32:in `client'
./test/openssl/test_pair.rb:45:in `ssl_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'
6) Error:
test_eof_0(OpenSSL::TestEOF2):
OpenSSL::SSL::SSLError: cipher or hash unavailable
./test/openssl/test_pair.rb:32:in `connect'
./test/openssl/test_pair.rb:32:in `client'
./test/openssl/test_pair.rb:45:in `ssl_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'
7) Error:
test_eof_1(OpenSSL::TestEOF2):
OpenSSL::SSL::SSLError: cipher or hash unavailable
./test/openssl/test_pair.rb:32:in `connect'
./test/openssl/test_pair.rb:32:in `client'
./test/openssl/test_pair.rb:45:in `ssl_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'
8) Error:
test_eof_2(OpenSSL::TestEOF2):
OpenSSL::SSL::SSLError: cipher or hash unavailable
./test/openssl/test_pair.rb:32:in `connect'
./test/openssl/test_pair.rb:32:in `client'
./test/openssl/test_pair.rb:45:in `ssl_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'
9) Error:
test_eof_3(OpenSSL::TestEOF2):
OpenSSL::SSL::SSLError: cipher or hash unavailable
./test/openssl/test_pair.rb:32:in `connect'
./test/openssl/test_pair.rb:32:in `client'
./test/openssl/test_pair.rb:45:in `ssl_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'
10) Error:
test_getc(OpenSSL::TestPair):
OpenSSL::SSL::SSLError: cipher or hash unavailable
./test/openssl/test_pair.rb:32:in `connect'
./test/openssl/test_pair.rb:32:in `client'
./test/openssl/test_pair.rb:45:in `ssl_pair'
./test/openssl/test_pair.rb:86:in `test_getc'
11) Error:
test_puts_empty(OpenSSL::TestPair):
OpenSSL::SSL::SSLError: cipher or hash unavailable
./test/openssl/test_pair.rb:32:in `connect'
./test/openssl/test_pair.rb:32:in `client'
./test/openssl/test_pair.rb:45:in `ssl_pair'
./test/openssl/test_pair.rb:135:in `test_puts_empty'
12) Error:
test_puts_meta(OpenSSL::TestPair):
OpenSSL::SSL::SSLError: cipher or hash unavailable
./test/openssl/test_pair.rb:32:in `connect'
./test/openssl/test_pair.rb:32:in `client'
./test/openssl/test_pair.rb:45:in `ssl_pair'
./test/openssl/test_pair.rb:121:in `test_puts_meta'
13) Error:
test_readall(OpenSSL::TestPair):
OpenSSL::SSL::SSLError: cipher or hash unavailable
./test/openssl/test_pair.rb:32:in `connect'
./test/openssl/test_pair.rb:32:in `client'
./test/openssl/test_pair.rb:45:in `ssl_pair'
./test/openssl/test_pair.rb:107:in `test_readall'
14) Error:
test_readline(OpenSSL::TestPair):
OpenSSL::SSL::SSLError: cipher or hash unavailable
./test/openssl/test_pair.rb:32:in `connect'
./test/openssl/test_pair.rb:32:in `client'
./test/openssl/test_pair.rb:45:in `ssl_pair'
./test/openssl/test_pair.rb:114:in `test_readline'
15) Error:
test_readpartial(OpenSSL::TestPair):
OpenSSL::SSL::SSLError: cipher or hash unavailable
./test/openssl/test_pair.rb:32:in `connect'
./test/openssl/test_pair.rb:32:in `client'
./test/openssl/test_pair.rb:45:in `ssl_pair'
./test/openssl/test_pair.rb:93:in `test_readpartial'
16) Failure:
test_cgi(TestWEBrickCGI)
[./test/webrick/test_cgi.rb:27:in `test_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:in `request'
/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:in `request'
./test/webrick/test_cgi.rb:27:in `test_cgi'
./test/webrick/utils.rb:26:in `call'
./test/webrick/utils.rb:26:in `start_server'
./test/webrick/utils.rb:34:in `start_httpserver'
./test/webrick/test_cgi.rb:24:in `test_cgi']:
<"/webrick.cgi"> expected but was
<"<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0//EN\">\n<HTML>\n
<HEAD><TITLE>In
ternal Server Error</TITLE></HEAD>\n <BODY>\n <H1>Internal
Server Error</H1>
\n Premature end of script headers:
/home/markea/src/ruby-1.8.6/test/webrick/
webrick.cgi\n <HR>\n <ADDRESS>\n WEBrick/1.3.1
(Ruby/1.8.6/2007-03-13)
OpenSSL/0.9.8a at\n 127.0.0.1:63178\n </ADDRESS>\n
</BODY>\n</HTML>\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