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
>Last-Modified: Sun Apr 15 21:42:49 +0000 2012
>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?
>Unformatted:
(Contact us)
$NetBSD: query-full-pr,v 1.36 2007/11/24 03:27:39 kano 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.