Installing on Solaris using sparc-sun-solaris-2.8


#1

I am a newbie to Solaris and Ruby.

I have downloaded the source for Ruby 1.8.4, I added CC to the
environment using “CC=/usr/local/bin/gcc” & “export CC”. I have run
./configure successfully.

I then set my variables for make (as initially that was not doing
anything) using “PATH=$PATH:/usr/ccs/bin” and “export PATH”. After doing
this I tried to use the make command, and received the following errors:

  1. make: Warning: Illegal dependency list for target `.DEFAULT’
    and far more worrying:

2.internal error: error_message(58)
*** Error code 100
make: Fatal error: Command failed for target `libruby-static.a’

I did find a file called “ruby” under usr/local/bin but it does not do
anything (most likely because of the fatal error) can anyone help me?


#2

Fleur Corfield wrote:

  1. make: Warning: Illegal dependency list for target `.DEFAULT’
    and far more worrying:

2.internal error: error_message(58)
*** Error code 100
make: Fatal error: Command failed for target `libruby-static.a’

I did find a file called “ruby” under usr/local/bin but it does not do
anything (most likely because of the fatal error) can anyone help me?

Strange. What version of gcc are you using?

If all else fails, there’s a Solaris package for Ruby on blastwave.org,
though
it’s built with Forte I think.

Regards,

Dan


#3

Fleur Corfield wrote:

  1. make: Warning: Illegal dependency list for target `.DEFAULT’
    and far more worrying:

2.internal error: error_message(58)
*** Error code 100
make: Fatal error: Command failed for target `libruby-static.a’

I did find a file called “ruby” under usr/local/bin but it does not do
anything (most likely because of the fatal error) can anyone help me?

Wait a minute - are you building against the latest in CVS? Because I’m
hitting the same issue because “isinf” isn’t linked in properly.
However, if
you’re building against 1.8.4 stable (release 12-24-2005), you shouldn’t
hit this.

Is this what you’re seeing?

gcc -Wall main.o libruby-static.a -ldl -lcrypt -lm -o miniruby -g -O2
-DRUBY_EXPORT
Undefined first referenced
symbol in file
isinf libruby-static.a(marshal.o)
ld: fatal: Symbol referencing errors. No output written to miniruby
collect2: ld returned 1 exit status
*** Error code 1
make: Fatal error: Command failed for target `miniruby’

Regards,

Dan


#4

Daniel B. wrote:

Regards,

Dan

FYI, Matz, or whoever from core is listening, it appears that you need
to link in sunmath to get this to work.

In other news, I don’t see sunmath.h anywhere…

Dan

Further research indicates that sunmath.h is part of the Sun compiler
install,
i.e. under /opt/SUNWspro. It isn’t included with the usual header files
under
/usr/include.

So, you can link against -lsunmath and just ignore the implicit
declaration
warning, or you can define isinf as “!finite” from ieeefp.h on Sun.

Regards,

Dan


#5

Daniel B. wrote:

symbol in file
isinf libruby-static.a(marshal.o)
ld: fatal: Symbol referencing errors. No output written to miniruby
collect2: ld returned 1 exit status
*** Error code 1
make: Fatal error: Command failed for target `miniruby’

Regards,

Dan

FYI, Matz, or whoever from core is listening, it appears that you need
to link
in sunmath to get this to work.

In other news, I don’t see sunmath.h anywhere…

Dan


#6

DONE!!!

Moved it from the users/ folder to /usr/local where there was more room.
Just ended up with the warnings no fatal errors!

YEAH!


#7

Sorry - you have lost me!

I have downloaded the stable Nov 2005 version of Ruby 1.8.4
(http://rubyforge.org/frs/?group_id=426&release_id=3332)

I have tried changing my PATH to use /usr/local/bin as that had another
copy of make (05/10/2002) in it (rather than the ccs make file -
13/09/1999!!)

I get the same error with both versions:

egex.o  ruby.o  signal.o  sprintf.o  st.o  string.o  struct.o 

time.o
util.o variable.o version.o flock.o isinf.o dmyext.o

internal error: error_message(58)
*** Error code 100
make: Fatal error: Command failed for target `libruby-static.a'

Typing in: make LTFLAGS=’ ’ (recommended from one of the sites)

make: Warning: Illegal dependency list for target `.DEFAULT'...
....
..eric.o  object.o  pack.o  parse.o  process.o  prec.o  random.o 

range.o re.o regex.o ruby.o signal.o sprintf.o st.o string.o
struct.o time.o util.o variable.o version.o flock.o isinf.o
dmyext.o
/usr/local/bin/gcc -g -O2 -DRUBY_EXPORT -I. -I. -c main.c
/usr/local/bin/gcc main.o libruby-static.a -ldl -lcrypt -lm -o
miniruby -g -O
2 -DRUBY_EXPORT
ld: fatal: file miniruby: creation interrupted: No space left on
device
collect2: ld returned 1 exit status
*** Error code 1
make: Fatal error: Command failed for target `miniruby’


So I think I have found the problem “ld: fatal: file miniruby: creation
interrupted: No space left on device” - now it is just how to fix it!