On Mon, 02 Jun 2003 08:43:50 -0400, Tim Hunter wrote: > On Sun, 1 Jun 2003 01:34:19 +0900, Jim Freeze <jim / freeze.org> wrote: > >>On Wednesday, 28 May 2003 at 0:52:35 +0900, Jim Freeze wrote: >> >>BTW, I got the latest from cvs yesterday and ruby built right out of the >>box without any special tweeks on solaris. >> >> > To clarify, the problem I reported was not that Ruby itself wouldn't > build on Solaris, it was that I couldn't build a C extension on Solaris > using Ruby 1.8.0preview2 built with --enable-shared. > > I am able to build this extension using Ruby 1.6.8 both with and without > --enable-shared. I will try building it using CVS HEAD this evening, > along with Matz's suggestion of: > > LDFLAGS="-Wl,-E,-dy" > > in configure.in. I am both relieved and sorry to say that I cannot reproduce this problem with either 1.6.8 or CVS HEAD. On Solaris 2.9, I have successfully built my extension with both versions of Ruby. Both versions were built using the --enable-shared option. I did not try 1.8.0preview2 again, although I'll be glad to if somebody thinks it's worth doing. In both cases I used Ruby "out-of-the-box". I did not change configure.in. I encountered two minor problems building Ruby from CVS HEAD. Here are a couple of snippets from make's output. From the make step I get: compiling bigdecimal gcc -V 3.3 -fPIC -O2 -fPIC -I. -I/home/thunter/ruby -I/home/thunter/ruby -I/home/thunter/ruby/ext/bigdecimal -c bigdecimal.c In file included from /home/thunter/ruby/ruby.h:21, from bigdecimal.c:45: /home/thunter/ruby/config.h:16:1: warning: "_FILE_OFFSET_BITS" redefined In file included from /usr/include/iso/ctype_iso.h:30, from /usr/include/ctype.h:18, from bigdecimal.c:33: /usr/include/sys/feature_tests.h:96:1: warning: this is the location of the previous definition compiling iconv gcc -V 3.3 -fPIC -O2 -fPIC -I. -I/home/thunter/ruby -I/home/thunter/ruby -I/home/thunter/ruby/ext/iconv -DHAVE_ICONV_H -c iconv.c iconv.c: In function `iconv_try': iconv.c:154: warning: passing arg 2 of `libiconv' from incompatible pointer type compiling readline gcc -V 3.3 -fPIC -O2 -fPIC -DREADLINE_21_OR_LATER -I. -I/home/thunter/ruby -I/home/thunter/ruby -I/home/thunter/ruby/ext/readline -DHAVE_READLINE_READLINE_H -DHAVE_READLINE_HISTORY_H -c readline.c In file included from /home/thunter/ruby/ruby.h:21, from readline.c:12: /home/thunter/ruby/config.h:16:1: warning: "_FILE_OFFSET_BITS" redefined In file included from /usr/include/iso/stdio_iso.h:35, from /usr/local/lib/gcc-lib/sparc-sun-solaris2.9/3.3/include/stdio.h:36, from readline.c:5: /usr/include/sys/feature_tests.h:96:1: warning: this is the location of the previous definition I configured Ruby specifying a non-default prefix. Some of the extensions still tried to install in the default location. In the interests of conserving bandwith I'll only list one: installing curses curses.so -> /usr/local/lib/ruby/1.8/sparc-solaris2.9/curses.so /home/thunter/ruby/lib/ftools.rb:23:in `initialize': Permission denied - /usr/local/lib/ruby/1.8/sparc-solaris2.9/curses.so (Errno::EACCES) from /home/thunter/ruby/lib/ftools.rb:23:in `open' from /home/thunter/ruby/lib/ftools.rb:23:in `syscopy' from /home/thunter/ruby/lib/ftools.rb:43:in `cp' from /home/thunter/ruby/lib/ftools.rb:160:in `install' from -e:1 *** Error code 1 make: Fatal error: Command failed for target `/usr/local/lib/ruby/1.8/sparc-solaris2.9/curses.so' Current working directory /home/thunter/ruby/ext/curses If anybody is interested I can provide the full list.