From owner-freebsd-hackers@FreeBSD.ORG Sat Nov 8 13:46:29 2014 Return-Path: Delivered-To: freebsd-hackers@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id B5735C2D; Sat, 8 Nov 2014 13:46:29 +0000 (UTC) Received: from tensor.andric.com (unknown [IPv6:2001:7b8:3a7:1:2d0:b7ff:fea0:8c26]) (using TLSv1 with cipher DHE-RSA-CAMELLIA256-SHA (256/256 bits)) (Client CN "tensor.andric.com", Issuer "COMODO RSA Domain Validation Secure Server CA" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 765E8140; Sat, 8 Nov 2014 13:46:29 +0000 (UTC) Received: from [IPv6:2001:7b8:3a7::c850:5765:a731:a87d] (unknown [IPv6:2001:7b8:3a7:0:c850:5765:a731:a87d]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by tensor.andric.com (Postfix) with ESMTPSA id 342F0B80A; Sat, 8 Nov 2014 14:46:22 +0100 (CET) Content-Type: text/plain; charset=us-ascii Mime-Version: 1.0 (Mac OS X Mail 8.0 \(1990.1\)) Subject: Re: How exactly does the base toolchain determine WHICH language to build with? From: Dimitry Andric In-Reply-To: <6810431a15d054459a29d434dd22619e@ultimatedns.net> Date: Sat, 8 Nov 2014 14:46:21 +0100 Content-Transfer-Encoding: 7bit Message-Id: <2D6D79A7-D05E-4DE2-A2B6-EFE261204B02@FreeBSD.org> References: <6810431a15d054459a29d434dd22619e@ultimatedns.net> To: Chris H X-Mailer: Apple Mail (2.1990.1) Cc: freebsd-hackers@freebsd.org, FreeBSD CURRENT , FreeBSD ports X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 08 Nov 2014 13:46:29 -0000 On 08 Nov 2014, at 01:23, Chris H wrote: > Sorry for the long title. I've been [needlessly] struggling > with getting ports within the ports tree to build, on a > fresh 11-CURRENT install from 2014-11-05. With custom > KERNEL and WORLD built, and installed. > Here's my situation, which has worked well since ~8.2; > make.conf(5) > WITHOUT_CLANG=true > FAVORITE_COMPILER=gcc > src.conf(5) > WITHOUT_CLANG=true If you don't want to use and build clang at all, I think you also need these two settings (at least on recent -CURRENT): WITHOUT_CLANG_BOOTSTRAP=foo WITHOUT_CLANG_IS_CC=foo The latter variable determines whether /usr/bin/cc, /usr/bin/c++ and so on are linked to clang or gcc. I suspect the root of all your problems is that you don't have this setting. > I'll neither argue, nor defend rational for w/o clang. To > boring and out of scope for this thread. That said; I > realize that lang/clang(33/34/35) is the default toolchain > for 10+, and that's just fine by me. So I shouldn't be > terribly surprised when install kernel/world, followed by > make delete-old removes the clang built, or provided by > the base install from the (initial) install procedure. But > what _does_ surprise me, is that the install of lang/gcc-48 > does _not_ become the compiler of choice with the above > $ENV, after [seemingly] deleting clang. It does not work that way. If you configure the base system to use gcc only, individual ports can decide that they need newer C++ support, or other features not available in the version of gcc in base (which is very old by now). In that case, they will use one of the gcc ports, or possibly even one of the clang ports. -Dimitry