NetBSD Problem Report #43081
From kre@munnari.OZ.AU Tue Mar 30 10:36:21 2010
Received: from mail.netbsd.org (mail.netbsd.org [126.96.36.199])
by www.NetBSD.org (Postfix) with ESMTP id 0BB8063B86C
for <gnats-bugs@gnats.NetBSD.org>; Tue, 30 Mar 2010 10:36:21 +0000 (UTC)
Date: Tue, 30 Mar 2010 17:36:10 +0700 (ICT)
Subject: pkgsrc PHP specific version build machinery fails (NetBSD 4.0/i386)
>Synopsis: pkgsrc PHP specific version build machinery fails (NetBSD 4.0/i386)
>Arrival-Date: Tue Mar 30 10:40:00 +0000 2010
>Last-Modified: Sat Nov 02 18:40:09 +0000 2013
>Originator: Robert Elz
>Release: NetBSD 4.0 / i386 (pkgsrc current 2010-03-30)
Prince of Songkla University
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 email@example.com:/usr/obj/4/kernels/JADE i386
www/gallery includes in its pkgsrc Makefile ...
That combination is clearly intended to get php53-gd-*
installed (some version newer than 4.1.0 - the version is not
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,
=> 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
make: stopped in /usr/pkgsrc/www/gallery
*** Error code 1
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.
?? 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.
From: "OBATA Akio" <firstname.lastname@example.org>
Subject: Re: pkg/43081: pkgsrc PHP specific version build machinery fails
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-When: Tue, 30 Mar 2010 11:58:14 +0000
Can you please take a look at this?
From: Takahiro Kambe <email@example.com>
Subject: Re: pkg/43081 (pkgsrc PHP specific version build machinery fails
Date: Tue, 30 Mar 2010 23:18:52 +0900 (JST)
In message <20100330115815.BF03C63B11D@www.NetBSD.org>
on Tue, 30 Mar 2010 11:58:15 +0000 (UTC),
> 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
> Can you please take a look at this?
I looked at it.
I think that this problem was derived by possible values for:
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
# force the selected PHP version for recursive builds
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
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
Finally, since this decision should be done by MAINTAINER, this PR
should be taken by jdolecek@. :-)
Takahiro Kambe <firstname.lastname@example.org>
Responsible-Changed-When: Tue, 30 Mar 2010 23:47:55 +0000
Over to maintainer.
Responsible-Changed-When: Sun, 15 Apr 2012 21:42:49 +0000
jdolecekt left, can you please decide?
State-Changed-When: Mon, 21 Oct 2013 04:48:56 +0000
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>
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)
| 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).
State-Changed-When: Sat, 02 Nov 2013 18:40:09 +0000
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
$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.