NetBSD Problem Report #43081

From kre@munnari.OZ.AU  Tue Mar 30 10:36:21 2010
Return-Path: <kre@munnari.OZ.AU>
Received: from mail.netbsd.org (mail.netbsd.org [204.152.190.11])
	by www.NetBSD.org (Postfix) with ESMTP id 0BB8063B86C
	for <gnats-bugs@gnats.NetBSD.org>; Tue, 30 Mar 2010 10:36:21 +0000 (UTC)
Message-Id: <201003301036.o2UAaALo025280@jade.coe.psu.ac.th>
Date: Tue, 30 Mar 2010 17:36:10 +0700 (ICT)
From: kre@munnari.OZ.AU
To: gnats-bugs@gnats.NetBSD.org
Subject: pkgsrc PHP specific version build machinery fails (NetBSD 4.0/i386)
X-Send-Pr-Version: 3.95

>Number:         43081
>Category:       pkg
>Synopsis:       pkgsrc PHP specific version build machinery fails (NetBSD 4.0/i386)
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    taca
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Tue Mar 30 10:40:00 +0000 2010
>Closed-Date:    
>Last-Modified:  Sat Nov 02 18:40:09 +0000 2013
>Originator:     Robert Elz
>Release:        NetBSD 4.0 / i386   (pkgsrc current 2010-03-30)
>Organization:
	Prince of Songkla University
>Environment:
System: NetBSD jade.coe.psu.ac.th 4.0_STABLE NetBSD 4.0_STABLE (JADE-1.696-20080517) #9: Fri May 23 18:55:13 ICT 2008 kre@jade.coe.psu.ac.th:/usr/obj/4/kernels/JADE i386
Architecture: i386
Machine: i386
>Description:
	www/gallery includes in its pkgsrc Makefile ...

		PHP_VERSIONS_ACCEPTED=  53

	and then

		DEPENDS+=       ${PHP_PKG_PREFIX}-gd>=4.1.0:../../graphics/php-gd

	That combination is clearly intended to get php53-gd-*
	installed (some version newer than 4.1.0 - the version is not
	the issue).

	And what's more, that's what it attempts to do ...

		=> Full dependency php53-gd>=4.1.0: NOT found
		=> Verifying bin-install for ../../graphics/php-gd
		===> Binary install for php53-gd>=4.1.0

	which fails, as there's no binary package for that built
	on my system so it reverts to building from source ...

		=> Installing php53-gd>=4.1.0 from /pkg_comp/packages/All
		pkg_add: no pkg found for 'php53-gd>=4.1.0', sorry.
		pkg_add: 1 package addition failed
		=> No binary package found for php53-gd>=4.1.0; installing from source.

	So far, so good, that's all what is supposed to happen,
	except ...

		=> Bootstrap dependency digest>=20010302: found digest-20080510
		WARNING: [license.mk] Every package should define a LICENSE.
		=> Checksum SHA1 OK for php-5.2.13/php-5.2.13.tar.bz2
		=> Checksum RMD160 OK for php-5.2.13/php-5.2.13.tar.bz2

	Hmmm... php 5.2, what's up there?

	And sure enough, after a perfectly successful build ...

		=> Registering installation for php5-gd-5.2.13 
		php5-gd-5.2.13 requires installed package freetype2-2.3.12
		php5-gd-5.2.13 requires installed package jpeg-8nb1
		php5-gd-5.2.13 requires installed package php-5.2.13nb1  
		php5-gd-5.2.13 requires installed package png-1.2.43
		=> Checking file-check results for php5-gd-5.2.13
		=> Checking for non-existent script interpreters in php5-gd-5.2.13 
		=> Checking file permissions in php5-gd-5.2.13
		=> Checking for missing run-time search paths in php5-gd-5.2.13  
		=> Checking for work-directory references in php5-gd-5.2.13
		===> Building binary package for php5-gd-5.2.13
		=> Creating binary package /pkg_comp/packages/All/php5-gd-5.2.13.tgz
		ERROR: [depends.mk] A package matching ``php53-gd>=4.1.0'' should
		ERROR:     be installed, but one cannot be found.  Perhaps there is a
		ERROR:     stale work directory for ../../graphics/php-gd?
		*** Error code 1

		Stop.
		make: stopped in /usr/pkgsrc/www/gallery
		*** Error code 1 

	Oops...

>How-To-Repeat:
	I use pkg_comp with NetBSD 4.0 release sets installed (I doubt
	any of that matters here) - I use libkver to simulate NetBSD 4.0
	for uname, and X11_TYPE=modular instead of the x* sets

	Again, I dount any of that really matters - except that when
	the build starts, there is nothing related to PHP installed
	(the pkg_comp sandbox is essentially empty) and there is
	nothing related to PHP or PHP versions in mk.conf (everything
	is just whatever comes in pkgsrc by default).

	In that environment, (and with no binary package for php53-gd
	available - if there was one it would probably have been
	installed and all would have been OK) attempt to build
	www/gallery (or www/gallery2 - it exhibits the same problem).

	If I were to install php53, or set the default PHP version,
	or just had a binary package for the dependency available,
	this problem would probably have remained hidden.

>Fix:
	??   Somehow the desired version of PHP needs to be passed
	through the build machinery to PHP packages, when a package
	needs a specific version  - simply going to the php package
	directory and saying "build" isn't going to do it, that will
	just vuild the default version, not the version that is needed.

>Release-Note:

>Audit-Trail:
From: "OBATA Akio" <obache@netbsd.org>
To: gnats-bugs@netbsd.org
Cc: 
Subject: Re: pkg/43081: pkgsrc PHP specific version build machinery fails
 (NetBSD 4.0/i386)
Date: Tue, 30 Mar 2010 19:50:45 +0900

 probably, need same trick done in lang/python/pyversion.mk for PYTHON_VERSION_REQD.

Responsible-Changed-From-To: pkg-manager->taca
Responsible-Changed-By: wiz@NetBSD.org
Responsible-Changed-When: Tue, 30 Mar 2010 11:58:14 +0000
Responsible-Changed-Why:
Can you please take a look at this?


From: Takahiro Kambe <taca@back-street.net>
To: gnats-bugs@NetBSD.org
Cc: jdolecek@NetBSD.org
Subject: Re: pkg/43081 (pkgsrc PHP specific version build machinery fails
 (NetBSD 4.0/i386))
Date: Tue, 30 Mar 2010 23:18:52 +0900 (JST)

 Hi,

 In message <20100330115815.BF03C63B11D@www.NetBSD.org>
 	on Tue, 30 Mar 2010 11:58:15 +0000 (UTC),
 	wiz@NetBSD.org wrote:
 > Synopsis: pkgsrc PHP specific version build machinery fails (NetBSD 4.0/i386)
 > 
 > Responsible-Changed-From-To: pkg-manager->taca
 > Responsible-Changed-By: wiz@NetBSD.org
 > Responsible-Changed-When: Tue, 30 Mar 2010 11:58:14 +0000
 > Responsible-Changed-Why:
 > Can you please take a look at this?
 I looked at it.

 I think that this problem was derived by possible values for:

 	PHP_VERSION_DEFAULT
 	PHP_VERSIONS_ACCEPTED
 	PHP_VERSION_REQD
 	PKG_PHP_VERSION

 When I imported lang/php53, these variables take: 5 or 53.

 	5	php 5.2.x
 	53	php 5.3.x

 Next, jdolecek@, MAINTAINER of php package changes meaning:

 	5	php 5.2.x or php 5.3.x
 	52	php 5.2.x
 	53	php 5.3.x

 It is logically good and consistent rather than making "5" means "52"
 when I imported.

 But, when recursive build is needed, lang/php/phpversion.mk is forced
 to set PHP_VERSION_REQD which is required to specify *real* PHP's
 version.

 	# force the selected PHP version for recursive builds
 	PHP_VERSION_REQD:=	${PKG_PHP_VERSION}


 These are my analysis of present state and it could be fixed by
 possible value to:

 	5	php 5.2.x
 	53	php 5.3.x

 or

 	52	php 5.2.x
 	53	php 5.3.x

 Avoid to use value which means "php 5.2.x or php 5.3.x" or introduce
 new variable which set PHP_VERSION_REQD instead of PKG_PHP_VERSION
 above.

 Finally, since this decision should be done by MAINTAINER, this PR
 should be taken by jdolecek@.  :-)

 Best regards.

 -- 
 Takahiro Kambe <taca@back-street.net>

Responsible-Changed-From-To: taca->jdolecek
Responsible-Changed-By: taca@NetBSD.org
Responsible-Changed-When: Tue, 30 Mar 2010 23:47:55 +0000
Responsible-Changed-Why:
Over to maintainer.


Responsible-Changed-From-To: jdolecek->taca
Responsible-Changed-By: wiz@NetBSD.org
Responsible-Changed-When: Sun, 15 Apr 2012 21:42:49 +0000
Responsible-Changed-Why:
jdolecekt left, can you please decide?


State-Changed-From-To: open->feedback
State-Changed-By: taca@NetBSD.org
State-Changed-When: Mon, 21 Oct 2013 04:48:56 +0000
State-Changed-Why:
PHP's framework had been changed from days of this PR.
Do you still have the problem?  (And NetBSD 4.0 is EOL for now.)


From: Robert Elz <kre@munnari.OZ.AU>
To: gnats-bugs@NetBSD.org
Cc: 
Subject: Re: pkg/43081 (pkgsrc PHP specific version build machinery fails (NetBSD 4.0/i386))
Date: Wed, 23 Oct 2013 07:18:38 +0700

     Date:        Mon, 21 Oct 2013 04:48:56 +0000 (UTC)
     From:        taca@NetBSD.org
     Message-ID:  <20131021044856.55811725CE@mollari.NetBSD.org>

   | PHP's framework had been changed from days of this PR.
   | Do you still have the problem?  (And NetBSD 4.0 is EOL for now.)

 I haven't tried to build it in a very long time, so I have no idea.
 I guess I could try again - but so could anyone else, the problem was
 blatant enough (and I think, well understood enough) that if it is
 thought to have been fixed, it most probably has been.

 Aside: that NetBSD 4 is EOL is irrelevant - NetBSD 4 had nothing at all
 to do with the issue in this PR, it was 100% a pkgsrc related problem.
 Which NetBSD (or other OS) version was the host for pkgsrc would have
 made no difference whatever - NetBSD 4.0 just happened to be what I
 was using (3+ years ago...) when I noticed the problem, so was mentioned
 just on the off chance that it might be relevant (just including all
 possible environment info).

 kre

State-Changed-From-To: feedback->open
State-Changed-By: dholland@NetBSD.org
State-Changed-When: Sat, 02 Nov 2013 18:40:09 +0000
State-Changed-Why:
This is a general problem with multiversion packages; if you are building
package X and this triggers a build of package Y, Y is a multiversion package,
and for some reason the version you need is not the default version, it will
build the default version and then die as described.

Which combination of packages this happens with depends on the accepted
versions settings, your setting of the default version, and so on, all of
which change over time. But nothing's ever been done about the underlying
problem.


>Unformatted:

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.