NetBSD Problem Report #49025

From www@NetBSD.org  Mon Jul 21 02:50:18 2014
Return-Path: <www@NetBSD.org>
Received: from mail.netbsd.org (mail.netbsd.org [149.20.53.66])
	(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
	(Client CN "mail.netbsd.org", Issuer "Postmaster NetBSD.org" (verified OK))
	by mollari.NetBSD.org (Postfix) with ESMTPS id 50407A6897
	for <gnats-bugs@gnats.NetBSD.org>; Mon, 21 Jul 2014 02:50:18 +0000 (UTC)
Message-Id: <20140721025016.B749BA68A2@mollari.NetBSD.org>
Date: Mon, 21 Jul 2014 02:50:16 +0000 (UTC)
From: jdbaker@mylinuxisp.com
Reply-To: jdbaker@mylinuxisp.com
To: gnats-bugs@NetBSD.org
Subject: GCC_REQD+=X.Y not satisfied by newer "lang/gccMN"
X-Send-Pr-Version: www-1.0

>Number:         49025
>Category:       pkg
>Synopsis:       GCC_REQD+=X.Y not satisfied by newer "lang/gccMN"
>Confidential:   no
>Severity:       non-critical
>Priority:       medium
>Responsible:    pkg-manager
>State:          open
>Class:          support
>Submitter-Id:   net
>Arrival-Date:   Mon Jul 21 02:55:00 +0000 2014
>Originator:     John D. Baker
>Release:        NetBSD/i386-5.2_STABLE, pkgsrc-2014Q2
>Organization:
>Environment:
NetBSD verthandi.technoskunk.fur 5.2_STABLE NetBSD 5.2_STABLE (VERTHANDI) #18: Tue Jul 15 08:12:12 CDT 2014  sysop@verthandi.technoskunk.fur:/d0/build/netbsd-5/obj/i386/sys/arch/i386/compile/VERTHANDI i386

>Description:
Packages which require a version of GCC newer than that found in the
host OS set GCC_REQD+=X.Y.  If version X.Y{.Z} of GCC is not installed,
"lang/gccXY" will be built as a dependency and the tools wrapper will
be generated to use that compiler.

If one has an existing installation of "lang/gccMN" such that M.N > X.Y,
the compiler-selection mechanism does not consider this compiler as
acceptable (does it consider it at all?) and proceeds to build the
earlier version as a dependency.

This is most evident on netbsd-5 systems which ship gcc 4.1.3 in the
"comp" set.  Many packages require the features of gcc 4.4.x, 4.5.x, or
4.6.x to build properly and set GCC_REQD+=4.4, GCC_REQD+=4.5 or
GCC_REQD+=4.6, respectively, causing the corresponding "lang/gccXY" to
be built as a dependency.

Depending on the order in which packages are built, "lang/gcc46" may
be built before any of the other "lang/gccXY" versions which may be
the minimum required for other packages.

The resulting "lang/gcc46" package is not considered acceptable (at
all?) for subsequent packages which set "GCC_REQD+=4.4" or
"GCC_REQD+=4.5" causing the corresponding "lang/gcc44" or "lang/gcc45"
to be built.

A particular instance is "www/firefox" and "multimedia/libvpx".
"firefox" requires GCC 4.6 minimum on netbsd-5 while "multimedia/libvpx
requires GCC 4.4 minimum.  If one preemptively installs "lang/gcc46"
"multimedia/libvpx" will still build "lang/gcc44".
>How-To-Repeat:
On NetBSD-5.* in particular, or any host platform without a suitable
version of GCC:

Install "lang/gcc46" (or later)
Build any package which sets "GCC_REQD+=4.4" or "GCC_REQD+=4.5" (etc).
Older version will be fetched, built and installed while newer version
is ignored.
>Fix:

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.