FreeBSD Port: ruby18-1.8.2_2

Garance A Drosihn drosih at rpi.edu
Mon Feb 21 17:24:13 PST 2005


At 5:10 PM -0600 2/21/05, Jeremy Messenger wrote:
>
>My lastest patch was: http://people.freebsd.org/~mezz/diff/ruby18.diff
>

I tried this on powerPC, and ruby built fine.  I haven't tested
it much, but the things I tested seem to work fine.

I tried it on sparc64, and ruby didn't build.  The attempt
ended with:

cc -O -pipe   -fPIC -I. -I. -c variable.c
cc -O -pipe   -fPIC -I. -I. -c version.c
cc -O -pipe   -fPIC -I. -I. -c parse.c
ar rcu libruby18-static.a array.o  bignum.o  class.o  compar.o  dir.o 
dln.o  enum.o  error.o  eval.o  file.o  gc.o  hash.o  inits.o  io.o 
marshal.o  math.o  numeric.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 cc -O -pipe   -fPIC 
-rpath=/usr/lib:/usr/local/lib -rdynamic  main.o dmyext.o 
libruby18-static.a -pthread -lcrypt -lm   -o miniruby
cc -shared -Wl,-soname,libruby18.so.18  array.o  bignum.o  class.o 
compar.o  dir.o  dln.o  enum.o  error.o  eval.o  file.o  gc.o  hash.o 
inits.o  io.o  marshal.o  math.o  numeric.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   dmyext.o -pthread -lcrypt -lm   -o 
libruby18.so.18
Bus error (core dumped)
*** Error code 138
Bus error (core dumped)
1 error
*** Error code 2

Looking in the work directory, it seems the bus error came up
while running mini-ruby:

work/ruby-1.8.2/miniruby.core

gdb tells me:

Core was generated by `miniruby'.
Program terminated with signal 10, Bus error.

(gdb) backtrace full
#0  0x0000000040859d5c in __vfprintf () from /lib/libc.so.6

I noticed the other email message which talked about the settings
of CFLAGS, so I changed my /etc/make.conf
from:
      CFLAGS= -O -pipe
to:
      CFLAGS+= -O -pipe -g

This changed the resulting 'cc' commands
from:
       cc -O -pipe   -fPIC -I. -I. -c main.c
to:
       cc -O2 -fno-strict-aliasing -pipe -O -pipe -g   -fPIC -I. -I. -c main.c

This still core-dumps.  I wondered if it might be significant that
"something" wanted this to be -O2, but my CFLAGS was setting a -O.
So I moved the line for '.include <bsd.port.pre.mk>' such that it
was before any of the lines which set CFLAGS in the makefile  (I
put it right after GNU_CONFIGURE=yes).  That didn't change anything.
All the 'cc' commands came out the same, and mini-ruby core-dumped.

So then I tried commenting-out the setting of CFLAGS in my
/etc/make.conf file.  That gave me 'cc' commands of:

      cc -O2 -fno-strict-aliasing -pipe   -fPIC -I. -I. -c main.c

but it still just core-dumps.  I then tried to make it with DEBUG=yes,
and used gdb to step through it.  It does start in main, and it
executes several thousand instructions before it dies.

-- 
Garance Alistair Drosehn            =   gad at gilead.netel.rpi.edu
Senior Systems Programmer           or  gad at freebsd.org
Rensselaer Polytechnic Institute    or  drosih at rpi.edu


More information about the freebsd-ports mailing list