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: closed
>Class: sw-bug
>Submitter-Id: net
>Arrival-Date: Tue Mar 30 10:40:00 +0000 2010
>Closed-Date: Tue Sep 13 16:27:21 +0000 2016
>Last-Modified: Tue Sep 13 16:27:21 +0000 2016
>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.
State-Changed-From-To: open->closed
State-Changed-By: taca@NetBSD.org
State-Changed-When: Tue, 13 Sep 2016 16:27:21 +0000
State-Changed-Why:
I belive this problem has gone by changing of values of those variables
PHP_VERSION_DEFAULT
PHP_VERSIONS_ACCEPTED
PHP_VERSION_REQD
PKG_PHP_VERSION
Since single "5" dose not mean "Any PHP 5.x" any more, so this inconsistent
dependecy problem should not happen now (really, 4 years ago).
>Unformatted:
(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.