NetBSD Problem Report #41741
From kre@munnari.OZ.AU Thu Jul 16 12:22:03 2009
Received: from mail.netbsd.org (mail.netbsd.org [188.8.131.52])
by www.NetBSD.org (Postfix) with ESMTP id 847D563B883
for <gnats-bugs@gnats.NetBSD.org>; Thu, 16 Jul 2009 12:22:03 +0000 (UTC)
Date: Thu, 16 Jul 2009 19:21:55 +0700 (ICT)
Subject: mk/apache.mk could be smarter (can cause apr conflict)
>Synopsis: mk/apache.mk could be smarter (can cause apr conflict)
>Arrival-Date: Thu Jul 16 12:25:00 +0000 2009
>Originator: Robert Elz
>Release: NetBSD 4.0_STABLE
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
pkgsrc/mk/apache.mk attempts to work out which version of
apache is installed, so that one can be used as a dependency
for other packages that just need any (or almost any) apache.
If no apache is used, then either a pkg specified, or
global default (apache22) is used, and that apache is
installed (built if needed). That's almost all fine.
Then, if requested, the appropriate apr version is installed
as well (added to the dependency list, which causes it to
There's one problem case left - that's where no apache is
installed, but apr is installed, and the apr that's there
is not the one that patches PKG_APACHE_DEFAULT - in particular,
as part of the process of attempting to get ganglia built,
I started with an empty pkg_comp arena - that always resulted in
apache22 and apr (apr1) getting installed, which conflicts
with a pkg requirement for apr0 - so I cleaned the arena again,
installed apr0 manually, then retried the build of ganglia
(www/ganglia-webfrontend to be precise) - that needs apache,
no apache was installed, so apache22 was added as a dependency,
that caused www/apr to be required, which immediately conflicted
with the apr0 that was installed, and must be for this (apaprently).
After finding no installed apache, before just setting upon
PKG_APACHE_DEFAULT mk/apache could look to see if either ww/apr
or www/apr0 is installed, and if so, select the corresponding
apache version (apache22 or apache2 resp). I think that should
be fairly easy to do.
Using pkg_comp is far and away the easy method to provoke
this - just start with an empty arena (particularly, no
apache related or using packages installed) manually add
(or build) www/apr0 then try building www/ganglia-webfrontend
(or anything else that requires an apache). It will fail
with an apr version conflict (quite quickly).
Best fix would be to add a test for installed apr versions
to mk/apache.mk if no installed apache is located.
A fairly easy workaround is just to manually install the
required version of apache (as well as, or possibly instead of, apr)
If the maintainers of mk/apache.mk don't think the apr test is
a good idea, or isn't worth adding, please just close this PR,
don't leave it dangling open but destined to be ignored forever...
It would probably also be a good idea for www/ganglia-webfrontend
to explicitly request apache2 (make that be the only acceptable
version) as there is an explicit requirement on apr0 (which
comes via parallel/ganglia-monitor-core) and the "any apache"
that www/ganglia-webfrontend currently requests just cannot work.
$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.