NetBSD Problem Report #48830

From mlr@nnwest.rse.com  Wed May 21 23:01:42 2014
Return-Path: <mlr@nnwest.rse.com>
Received: from mail.netbsd.org (mail.netbsd.org [149.20.53.66])
	(using TLSv1 with cipher ECDHE-RSA-AES256-SHA (256/256 bits))
	(Client CN "mail.netbsd.org", Issuer "Postmaster NetBSD.org" (verified OK))
	by mollari.NetBSD.org (Postfix) with ESMTPS id 7EFB7A585A
	for <gnats-bugs@gnats.netbsd.org>; Wed, 21 May 2014 23:01:42 +0000 (UTC)
Message-Id: <201405212252.SAA03926@nnwest.rse.com>
Date: Wed, 21 May 2014 18:52:43 -0400 (EDT)
From: M L Riechers <mlr@rse.com>
Reply-To: mlr@rse.com
To: gnats-bugs@gnats.netbsd.org
Cc: mlr@rse.com
Subject: libreoffice4-4.2.2.1 build screwed by ruby211-2.1.1's tcl-8.5.15nb1 build

>Number:         48830
>Category:       pkg
>Synopsis:       libreoffice4-4.2.2.1 build screwed by ruby211-2.1.1's tcl-8.5.15nb1 build
>Confidential:   no
>Severity:       critical
>Priority:       high
>Responsible:    pkg-manager
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Wed May 21 23:05:00 +0000 2014
>Last-Modified:  Fri May 30 22:20:00 +0000 2014
>Originator:     Michael L Riechers
>Release:        NetBSD 6.1.4_PATCH
>Organization:
M L Riechers Systems Engineering
>Environment:
System: NetBSD cterm.rse.com 6.1.4_PATCH NetBSD 6.1.4_PATCH (HOUSE-6.1.4_PATCH) #0: Sat May 17 20:30:20 EDT 2014 root@cterm.rse.com:/usr/local/src/usr/usr.201405150740Z/src/sys/arch/amd64/compile/obj/HOUSE-6.1.4_PATCH amd64

28704768 May 17 03:42 ftp.netbsd.org/pub/pkgsrc/pkgsrc-2014Q1/pkgsrc.tar.xz


>Description:

/usr/pkgsrc/x11/ruby-tk/Makefile demands that a tcl greater than or equal to 8.5.7,
but no high-falutin tcl's greater than or equal to 8.6 be used:

=> Full dependency tcl>=8.5.7<8.6: NOT found

so, we merrily crank tcl-8.5.15nb1:

-rw-r--r--  2 root  wheel  2432090 May 19 10:06 ../../packages/All/tcl-8.5.15nb1.tgz

../../misc/libreoffice4-4.2.2.1, 
/usr/pkgsrc/misc/libreoffice4, on the other hand, demands a tcl greater than
or equal to 8.6.1nb1:

=> Full dependency tcl>=8.6.1nb1: NOT found

and produces tcl-8.6.1nb3:

-rw-r--r--  2 root  wheel  3718179 May 20 18:42 ../../packages/All/tcl-8.6.1nb3.tgz
tcl-8.5.15nb1

and so, when we go to install this bright, new tcl, we get:

===> Install binary package of tcl-8.6.1nb3
pkg_add: A different version of tcl-8.6.1nb3 is already installed: tcl-8.5.15nb1
pkg_add: 1 package addition failed

and so, since libreoffice wants a tcl greater than 8.6, while ruby21 wants a tcl
less than 8.6, we're at an impossible impass.

>How-To-Repeat:

Build /usr/pkgsrc/lang/ruby21.  Then build /usr/pkgsrc/misc/libreoffice4
>Fix:

delete, and forget about the one or the other.

>Audit-Trail:
From: "OBATA Akio" <obata@lins.jp>
To: gnats-bugs@netbsd.org
Cc: 
Subject: Re: pkg/48830: libreoffice4-4.2.2.1 build screwed by ruby211-2.1.1's
 tcl-8.5.15nb1 build
Date: Thu, 22 May 2014 09:47:31 +0900

 On Thu, 22 May 2014 08:05:00 +0900, M L Riechers <mlr@rse.com> wrote:

 > Build /usr/pkgsrc/lang/ruby21.  Then build /usr/pkgsrc/misc/libreoffice4
 >> Fix:

 Do you really want to use ruby-tk?
 or you can just install lang/ruby21-base (and other required ruby-* packages)

 -- 
 OBATA Akio / obata@lins.jp

From: M L Riechers <mlr@rse.com>
To: gnats-bugs@NetBSD.org, "OBATA Akio" <obata@lins.jp>,
        pkg-manager@NetBSD.org, gnats-admin@NetBSD.org, pkgsrc-bugs@NetBSD.org
Cc: mlr@rse.com
Subject: Re: pkg/48830: libreoffice4-4.2.2.1 build screwed by ruby211-2.1.1's tcl-8.5.15nb1 build
Date: Thu, 22 May 2014 12:04:28 -0400 (EDT)

 Good day, OBATA Akio

 Sorry if I seem a bit strident, but I'm rather lost and confused.

 I have no idea.  We have a few ruby programs around, and I don't know
 if they require this.

 I just cd /usr/pkgsrc/lang/ruby21 and Make.  I've assumed that that's
 the thing to do, because I've got no better information -- I'm rather
 shooting in the dark.

 If installing lang/ruby21-base will turn the trick, I've no problems
 with that.

 But, I wonder, is the impass going to be resolved, and are you
 suggesting building lang/ruby21-base as a temporary work-around?  If
 so, I can live with that.

 Now, do I compile the "(and other required ruby-* packages)"
 separately, by hand?

 And, can I just (force?) delete the ruby-produced tcl, and go from
 there?

 Yours,

 -Mike

 Date: Thu, 22 May 2014 09:47:31 +0900

 >  On Thu, 22 May 2014 08:05:00 +0900, M L Riechers <mlr@rse.com> wrote:
 >  
 >  > Build /usr/pkgsrc/lang/ruby21.  Then build /usr/pkgsrc/misc/libreoffice4
 >  >> Fix:
 >  
 >  Do you really want to use ruby-tk?
 >  or you can just install lang/ruby21-base (and other required ruby-* packages)
 >  
 >  -- 
 >  OBATA Akio / obata@lins.jp

 -- 
 Kind Regards, I am

  /s/ Michael L. Riechers

 Michael L. Riechers,
 Owner,					M L Riechers Systems Engineering
 513/844-2220 (voice)			530 Main Street
 513/205-5589 (cell)			Hamilton, Ohio 45013
 513/844-2279 (fax)
 mlr@rse.com  (internet)
 www.rse.com  (WEB)

 Systems Programming: The three most adverse malignancies in life are:
   1)signed numbers,  2)floating point numbers, and  3)little endians.

From: "OBATA Akio" <obata@lins.jp>
To: gnats-bugs@netbsd.org
Cc: 
Subject: Re: pkg/48830: libreoffice4-4.2.2.1 build screwed by ruby211-2.1.1's
 tcl-8.5.15nb1 build
Date: Fri, 23 May 2014 09:56:37 +0900

 On Fri, 23 May 2014 01:15:00 +0900, M L Riechers <mlr@rse.com> wrote:

 >  Sorry if I seem a bit strident, but I'm rather lost and confused.
 > I have no idea.  We have a few ruby programs around, and I don't know
 >  if they require this.

 If you wrote those programs, you know what ruby modules are required.
 You must install such ruby-* package by yourself.
 If those programs are installed from pkgsrc, required ruby modules
 already should be installed automatically.

 >  I just cd /usr/pkgsrc/lang/ruby21 and Make.  I've assumed that that's
 >  the thing to do, because I've got no better information -- I'm rather
 >  shooting in the dark.

 Please see also DESCR, in addition to just a package name.
 lang/ruby21 is Ruby 2.1.1 release meta package, contains full upstream distribution.
 lang/ruby21-base is Ruby 2.1.1 release minimum base package

 >  If installing lang/ruby21-base will turn the trick, I've no problems
 >  with that.

 It you want to use Ruby language, it is sufficient.

 >  But, I wonder, is the impass going to be resolved, and are you
 >  suggesting building lang/ruby21-base as a temporary work-around?  If
 >  so, I can live with that.

 ruby21-base is already installed if you have ruby21 package.

 >  Now, do I compile the "(and other required ruby-* packages)"
 >  separately, by hand?

 As already described first.

 >  And, can I just (force?) delete the ruby-produced tcl, and go from
 >  there?

 Just remove ruby21 and ruby21-tk packages, no need to force.

 -- 
 OBATA Akio / obata@lins.jp

From: Havard Eidnes <he@uninett.no>
To: gnats-bugs@NetBSD.org, mlr@rse.com
Cc: pkgsrc-bugs@netbsd.org
Subject: Re: pkg/48830: libreoffice4-4.2.2.1 build screwed by
 ruby211-2.1.1's tcl-8.5.15nb1 build
Date: Sun, 25 May 2014 11:04:27 +0200 (CEST)

 > =3D=3D=3D> Install binary package of tcl-8.6.1nb3
 > pkg_add: A different version of tcl-8.6.1nb3 is already installed: tc=
 l-8.5.15nb1
 > pkg_add: 1 package addition failed
 >
 > and so, since libreoffice wants a tcl greater than 8.6, while
 > ruby21 wants a tcl less than 8.6, we're at an impossible
 > impass.
 >
 >>How-To-Repeat:
 >
 > Build /usr/pkgsrc/lang/ruby21.  Then build /usr/pkgsrc/misc/libreoffi=
 ce4
 >>Fix:
 >
 > delete, and forget about the one or the other.

 Just some comments / ramblings:


 It seems that in pkgsrc, x11/ruby-tk is the last holdout which
 requires tcl and tk older than 8.6.  Perhaps it should "get with the
 program" and update?  However, the trivial attempt with

 Index: Makefile
 =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
 =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
 =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
 RCS file: /cvsroot/pkgsrc/x11/ruby-tk/Makefile,v
 retrieving revision 1.43
 diff -u -r1.43 Makefile
 --- Makefile    10 Mar 2014 14:23:51 -0000      1.43
 +++ Makefile    25 May 2014 07:50:42 -0000
 @@ -36,6 +36,6 @@
  =

  .include "../../lang/ruby/modules.mk"
  .include "../../lang/ruby/Makefile.common"
 -.include "../../lang/tcl85/buildlink3.mk"
 -.include "../../x11/tk85/buildlink3.mk"
 +.include "../../lang/tcl/buildlink3.mk"
 +.include "../../x11/tk/buildlink3.mk"
  .include "../../mk/bsd.pkg.mk"

 results in sour messages from the configure machinery in x11/ruby-tk
 that it really does need Tcl/Tk 8.5 or older.  So ... more effort is
 required to follow that path.  Does anyone know what specifically in
 ruby-tk is incompatible with newer Tcl/Tk?

 Tweaking the configure script like this:

 : {289} cat ../../lang/ruby21-base/patches/patch-ext_tk_extconf.rb =

 $NetBSD$

 --- ext/tk/extconf.rb.orig      2013-11-30 02:46:47.000000000 +0000
 +++ ext/tk/extconf.rb
 @@ -8,11 +8,11 @@ TkLib_Config =3D {}
  TkLib_Config['search_versions'] =3D
    # %w[8.9 8.8 8.7 8.6 8.5 8.4 8.3 8.2 8.1 8.0 7.6 4.2]
    # %w[8.7 8.6 8.5 8.4 8.3 8.2 8.1 8.0]
 -  # %w[8.7 8.6 8.5 8.4 8.0] # to shorten search steps
 -  %w[8.5 8.4] # At present, Tcl/Tk8.6 is not supported.
 +  %w[8.7 8.6 8.5 8.4 8.0] # to shorten search steps
 +  # %w[8.5 8.4] # At present, Tcl/Tk8.6 is not supported.
  =

  TkLib_Config['unsupported_versions'] =3D
 -  %w[8.8 8.7 8.6] # At present, Tcl/Tk8.6 is not supported.
 +  %w[8.8 8.7] # At present, Tcl/Tk8.6 is not supported.
  =

  TkLib_Config['major_nums'] =3D '87'
  =

 : {290} =


 and doing a "make mps" in ruby21-base (after placing the patch file as
 above) lets ruby212-tk-2.1.2nb3 install, but I don't know if it will
 work, and I don't know how to test it.  As far as I can see, though,
 there are no warnings from the C compilations done in x11/ruby-tk.


 I'm not all that familiar with ruby, and without setting any make
 variables, it seems that the build of ruby21 stops because ruby-gdbm
 selected ruby200, and after happily installing ruby200-gdbm-2.0.0p481
 the build stops with

 ERROR: [depends.mk] A package matching ``ruby212-gdbm>=3D2.1.2'' should=

 ERROR:     be installed, but one cannot be found.  Perhaps there is a
 ERROR:     stale work directory for ../../databases/ruby-gdbm?

 and I can assure you that there was no stale work dir.

 Looking at lang/ruby/rubyversion.mk suggests that I should maybe set
 RUBY_VERSION_DEFAULT to 21, so I put that in /etc/mk.conf, and this
 fixes the build in databases/ruby-gdbm/ to install ruby212-gdbm-2.1.2.

 Confusingly, it seems that setting RUBY_VERSION_DEFAULT in the
 environment causes x11/ruby-tk to select building with ruby200,
 despite my setting in /etc/mk.conf.  Removing that variable from the
 environment fixes it to try to build ruby212-tk-2.1.2nb3!?!


 Can someone please confirm that setting RUBY_VERSION_DEFAULT in
 /etc/mk.conf is a requirement to have ruby21 built properly?


 Regards,

 - H=E5vard

From: M L Riechers <mlr@rse.com>
To: Havard Eidnes <he@uninett.no>, gnats-bugs@NetBSD.org
Cc: mlr@rse.com
Subject: Re: pkg/48830: libreoffice4-4.2.2.1 build screwed by ruby211-2.1.1's tcl-8.5.15nb1 build
Date: Fri, 30 May 2014 18:07:54 -0400 (EDT)

 Hello, Havard.

 Thanks for messing around with the Ruby package, to see if it can be
 upgraded.  I'm hoping it can be fixed without a great deal of trouble.

 Date: Sun, 25 May 2014 11:04:27 +0200 (CEST)

 >  ...
 >  selected ruby200, and after happily installing ruby200-gdbm-2.0.0p481
 >  the build stops with
 > 
 >  ERROR: [depends.mk] A package matching ``ruby212-gdbm>=3D2.1.2'' should=
 > 
 >  ERROR:     be installed, but one cannot be found.  Perhaps there is a
 >  ERROR:     stale work directory for ../../databases/ruby-gdbm?
 > 
 >  and I can assure you that there was no stale work dir.
 > 
 >  ...

 I compiled the ruby21 package with no trouble at all -- didn't have to
 change anything.  Can't say what will happen if you compile
 ruby21-base.

 However, the "can't find ...gdbm... " business is frequent on adding a
 new ruby version, and I was rather expecting to encounter a problem
 compiling ruby21, -- but I didn't.  So I recommended closing PR 48509
 based on that.

 The work-around I did to compile ruby19 and ruby200 (before the fix)
 was essentially what you did.  I dunno.

 These are the two PR's on the earlier ruby's.  They're both closed now:

 46420  Building for ruby19 ends with "can't find ruby19-gdbm>=1.9.2pl320"

 48509  Building for ruby200 ends with "can't find ruby200-gdbm>=2.0.0p353"

 Yours,

 -Mike

 -- 
 Kind Regards, I am

  /s/ Michael L. Riechers

 Michael L. Riechers,
 Owner,					M L Riechers Systems Engineering
 513/844-2220 (voice)			530 Main Street
 513/205-5589 (cell)			Hamilton, Ohio 45013
 513/844-2279 (fax)
 mlr@rse.com  (internet)
 www.rse.com  (WEB)

 Systems Programming: The three most adverse malignancies in life are:
   1)signed numbers,  2)floating point numbers, and  3)little endians.

NetBSD Home
NetBSD PR Database Search

(Contact us) $NetBSD: query-full-pr,v 1.39 2013/11/01 18:47:49 spz Exp $
$NetBSD: gnats_config.sh,v 1.8 2006/05/07 09:23:38 tsutsui Exp $
Copyright © 1994-2007 The NetBSD Foundation, Inc. ALL RIGHTS RESERVED.