From owner-freebsd-emulation@freebsd.org Sun Dec 11 12:40:06 2016 Return-Path: Delivered-To: freebsd-emulation@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id D991FC7030A for ; Sun, 11 Dec 2016 12:40:06 +0000 (UTC) (envelope-from gerald@pfeifer.com) Received: from mailman.ysv.freebsd.org (unknown [127.0.1.3]) by mx1.freebsd.org (Postfix) with ESMTP id BAF371577 for ; Sun, 11 Dec 2016 12:40:06 +0000 (UTC) (envelope-from gerald@pfeifer.com) Received: by mailman.ysv.freebsd.org (Postfix) id B78DCC70309; Sun, 11 Dec 2016 12:40:06 +0000 (UTC) Delivered-To: emulation@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id B740EC70308 for ; Sun, 11 Dec 2016 12:40:06 +0000 (UTC) (envelope-from gerald@pfeifer.com) Received: from freefall.freebsd.org (freefall.freebsd.org [IPv6:2610:1c1:1:6074::16:84]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "freefall.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 787871575 for ; Sun, 11 Dec 2016 12:40:06 +0000 (UTC) (envelope-from gerald@pfeifer.com) Received: by freefall.freebsd.org (Postfix) id C7EC21F79; Sun, 11 Dec 2016 12:40:05 +0000 (UTC) Delivered-To: vbox@localmail.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "mx1.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by freefall.freebsd.org (Postfix) with ESMTPS id 849E71F78; Sun, 11 Dec 2016 12:40:05 +0000 (UTC) (envelope-from gerald@pfeifer.com) Received: from ainaz.pair.com (ainaz.pair.com [209.68.2.66]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id A41741572; Sun, 11 Dec 2016 12:40:04 +0000 (UTC) (envelope-from gerald@pfeifer.com) Received: from anthias (vie-188-118-249-201.dsl.sil.at [188.118.249.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ainaz.pair.com (Postfix) with ESMTPSA id BAE683F531; Sun, 11 Dec 2016 07:40:01 -0500 (EST) Date: Sun, 11 Dec 2016 13:40:00 +0100 (CET) From: Gerald Pfeifer To: Mark Millard cc: vbox@FreeBSD.org, Dimitry Andric , svn-ports-head@freebsd.org, freebsd-ports@freebsd.org Subject: Re: svn commit: r427110 - head/lang/gcc/files [does lang/gcc49 need such too?] In-Reply-To: Message-ID: References: <86C72DB2-B9ED-4512-A88C-BD1D9A23806F@dsl-only.net> <9D54F0CC-F38C-4CCE-BC33-25C1457BD44B@FreeBSD.org> <5C936BA8-6941-431A-B05F-31030816F85C@dsl-only.net> <487153E5-EF53-4960-9364-23992D7E0F76@dsl-only.net> MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII X-Mailman-Approved-At: Sun, 11 Dec 2016 12:55:16 +0000 X-BeenThere: freebsd-emulation@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: Development of Emulators of other operating systems List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 11 Dec 2016 12:40:06 -0000 On Sun, 11 Dec 2016, Mark Millard wrote: > I reported already that devel/kBuild/Makefile has in its > Makefile: > > USE_GCC= any > > and devel/kBuild is what causes the lang/gcc* build. (I > reported more than that but it is the part relevant here.) I had read that, and I di investigate. USE_GCC=any is the equivalent of USE_GCC=4.2+, and lang/gcc6 and lang/gcc6-devel should both meet this requirement. (In general, do not use a gcc*-devel port unless you really want or need to, though; use the corresponding gcc* port instead.) > Additional information (gained later) is that if I "pkg delete > gcc6-devel" then instead of devel/kBuild trying to install lang/gcc6 > it tries to install lang/gcc (no number). That works as designed. USE_GCC=yes defaults to lang/gcc. USE_GCC=any tries to use an existing GCC system compiler and lang/gcc by default if none is present. > If I clean that out and put back lang/gcc6-devel and try again it > goes back to trying to install lang/gcc6 . That is a little odd. It means gcc6 from lang/gcc6-devel is found and identified as a suitable version of GCC. Then Mk/bsd.gcc.mk adds BUILD_DEPENDS+= gcc6:lang/gcc6 when it resolves USE_GCC=any. That should not trigger and pull in lang/gcc6, though, as long as gcc6 is found. > It appears to be picking up that a gcc is installed when > lang/gcc6-devel and that it is is version 6 based but then > it looks for lang/gcc6 specifically but does not find it > and so tries to install lang/gcc6. Its identification of the > version is not enough to identify what specific gcc port > to look for but it only looks for the one possible source > to satisfy the dependency --and not finding that specific > port it then tries to install that specific port that it > did not find. That's pretty close. It finds the gcc6 binary and hence settles on GCC 6 as the compiler to use, but when resolving dependencies then it apparently does not find the gcc6 binary (or does, and something triggers a full rebuild regardless with lang/gcc6 instead of the original lang/gcc6-devel). Do you, by any chance, have some non-standard settings that would trigger such an unconditional rebuild? In general, for ports work lang/gcc is the one to use, and lang/gccX over lang/gccX-devel. Somehow it feels your setup adds layers of shaky, untested and non-standard elements on top of each other. As far as lang/gcc* ports are concerned, I believe the best use of our time will be moving lang/gcc from GCC 4.9 (where it finally got to) to GCC 5. Gerald