NetBSD Problem Report #49025

From  Mon Jul 21 02:50:18 2014
Return-Path: <>
Received: from ( [])
	(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
	(Client CN "", Issuer "Postmaster" (verified OK))
	by (Postfix) with ESMTPS id 50407A6897
	for <>; Mon, 21 Jul 2014 02:50:18 +0000 (UTC)
Message-Id: <>
Date: Mon, 21 Jul 2014 02:50:16 +0000 (UTC)
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:          closed
>Class:          support
>Submitter-Id:   net
>Arrival-Date:   Mon Jul 21 02:55:00 +0000 2014
>Closed-Date:    Sun Jun 03 21:30:53 +0000 2018
>Last-Modified:  Sun Jun 03 21:30:53 +0000 2018
>Originator:     John D. Baker
>Release:        NetBSD/i386-5.2_STABLE, pkgsrc-2014Q2
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

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".
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.



State-Changed-From-To: open->closed
State-Changed-When: Sun, 03 Jun 2018 21:30:53 +0000
Wontfix. I provided a patch to do this in tech-pkg at some point, but it was considered too much magic. consequent builds won't be identical. We should probably consider a more satisfactory solution such as a single OK pkgsrc toolchain which won't introduce too much magic.


NetBSD Home
NetBSD PR Database Search

(Contact us) $NetBSD: query-full-pr,v 1.43 2018/01/16 07:36:43 maya Exp $
$NetBSD:,v 1.9 2014/08/02 14:16:04 spz Exp $
Copyright © 1994-2017 The NetBSD Foundation, Inc. ALL RIGHTS RESERVED.