[lnkForumImage]
TotalShareware - Download Free Software

Confronta i prezzi di migliaia di prodotti.
Asp Forum
 Home | Login | Register | Search 


 

Forums >

comp.lang.ruby

Building 1.8.6-p36 with Sun Studio 12 compiler

markea01

6/14/2007 5:26:00 PM

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

1 Answer

Nobuyoshi Nakada

6/17/2007 8:31:00 AM

0

Hi,

At Fri, 15 Jun 2007 02:30:08 +0900,
markea01@sbcglobal.net wrote in [ruby-talk:255631]:
> "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

There are also {get,set,make}_backtrace functions, they have no
problem?

> "eval.c", line 8612: warning: loop not entered at top


> "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

Can't you show the head of cbtable.func file?

> The build completes successfully, and "make check" gives these errors:

I know little about OpenSSL.

--
Nobu Nakada