Subject: pkg/34857: pkgsrc/lang/ruby18-base can't be built
To: None <pkg-manager@netbsd.org, gnats-admin@netbsd.org,>
From: None <kochi@NetBSD.org>
List: pkgsrc-bugs
Date: 10/19/2006 07:00:00
>Number:         34857
>Category:       pkg
>Synopsis:       pkgsrc/lang/ruby18-base can't be built
>Confidential:   no
>Severity:       serious
>Priority:       high
>Responsible:    pkg-manager
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Thu Oct 19 07:00:00 +0000 2006
>Originator:     Takayoshi Kochi
>Release:        4.99.3 as of 20061018
>Organization:
>Environment:
NetBSD kochi-netbsd 4.99.3 NetBSD 4.99.3 (build) #4: Thu Oct 19 12:33:43 JST 2006  kochi@kochi-netbsd:/althome/kochi/build i386
>Description:
This is running -current on VMWare with two processors. 
This smells like a libpthread problem but categorizing pkg at first anyway.

While building pkgsrc/lang/ruby18-base, compilation fails.

|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 -lpthread -lcrypt -lm   -o libruby18.so.18.5
|compiling Win32API
|[1]   Abort trap              ./miniruby ./ext...
|*** Error code 134
|
|Stop.
|make: stopped in /usr/pkgsrc/lang/ruby18-base/work.kochi-netbsd/ruby-1.8.5
|*** Error code 1

and if I type `make' again, the `miniruby' runs forever

| 5487 root      59    0  3992K 4564K RUN/0      0:45 98.31% 88.96% miniruby

Attaching the process by gdb -p succeeds, but its backtrace is not
available.

|# gdb -p 5487
|GNU gdb 6.5
|Copyright (C) 2006 Free Software Foundation, Inc.
|GDB is free software, covered by the GNU General Public License, and |you are
Welcome to change it and/or distribute copies of it under certain |conditions.
|Type "show copying" to see the conditions.
|There is absolutely no warranty for GDB.  Type "show warranty" for details.
|This GDB was configured as "i386--netbsdelf".
|Attaching to process 5487
|0x00000000 in ?? ()
|(gdb) 

Setting/unsetting PTHREAD_CONCURRENCY/PTHREAD_DIAGASSERT didn't help.

Setting RUBY_USE_PTHREAD=no in /etc/mk.conf helped and the build
succeeded.

Building the same package on NetBSD 3.0 system also didn't show
the symptom.
>How-To-Repeat:
In -current environment, cd /usr/pkgsrc/lang/ruby18-base and make build.
>Fix:
I'd like to conclude that libpthread is the culprit but
I have no idea how to investigate further as yet.