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:          closed
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Wed May 21 23:05:00 +0000 2014
>Closed-Date:    Sun Jun 03 21:04:48 +0000 2018
>Last-Modified:  Sun Jun 03 21:04:48 +0000 2018
>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.

>Release-Note:

>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.

State-Changed-From-To: open->closed
State-Changed-By: maya@NetBSD.org
State-Changed-When: Sun, 03 Jun 2018 21:04:48 +0000
State-Changed-Why:
This bug report became stale: I don't think the in-tree version of libreoffice depends on tcl at all, and haven't seen reports of this since. Not surprising, since they had two major versions since and it's now 6.x. Feel free to report new bugs if you have issues with libreoffice. Sorry it wasn't resolved at the time.


>Unformatted:

NetBSD Home
NetBSD PR Database Search

(Contact us) $NetBSD: query-full-pr,v 1.43 2018/01/16 07:36:43 maya Exp $
$NetBSD: gnats_config.sh,v 1.9 2014/08/02 14:16:04 spz Exp $
Copyright © 1994-2017 The NetBSD Foundation, Inc. ALL RIGHTS RESERVED.