From owner-freebsd-ports@FreeBSD.ORG Wed Mar 18 03:02:52 2015 Return-Path: Delivered-To: freebsd-ports@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 75846AEB for ; Wed, 18 Mar 2015 03:02:52 +0000 (UTC) Received: from asp.reflexion.net (outbound-241.asp.reflexion.net [69.84.129.241]) (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 28F72BD3 for ; Wed, 18 Mar 2015 03:02:51 +0000 (UTC) Received: (qmail 19723 invoked from network); 18 Mar 2015 03:02:49 -0000 Received: from unknown (HELO mail-cs-02.app.dca.reflexion.local) (10.81.19.2) by 0 (rfx-qmail) with SMTP; 18 Mar 2015 03:02:49 -0000 Received: by mail-cs-02.app.dca.reflexion.local (Reflexion email security v7.40.1) with SMTP; Tue, 17 Mar 2015 23:02:49 -0400 (EDT) Received: (qmail 526 invoked from network); 18 Mar 2015 03:02:49 -0000 Received: from unknown (HELO iron2.pdx.net) (69.64.224.71) by 0 (rfx-qmail) with (DHE-RSA-AES256-SHA encrypted) SMTP; 18 Mar 2015 03:02:49 -0000 X-No-Relay: not in my network X-No-Relay: not in my network X-No-Relay: not in my network Received: from [192.168.1.8] (c-67-189-19-145.hsd1.or.comcast.net [67.189.19.145]) by iron2.pdx.net (Postfix) with ESMTPSA id C28601C439E; Tue, 17 Mar 2015 20:02:42 -0700 (PDT) Content-Type: text/plain; charset=us-ascii Mime-Version: 1.0 (Mac OS X Mail 8.2 \(2070.6\)) Subject: Re: powerpc64 11.0-CURRENT portmaster lang/clang36 gets error: llvm-build: error: invalid native target: 'powerpc64' (not in project) From: Mark Millard In-Reply-To: <160E2B60-047A-4E5B-A258-334155CDEC0B@dsl-only.net> Date: Tue, 17 Mar 2015 20:02:47 -0700 Content-Transfer-Encoding: quoted-printable Message-Id: <1E76AC30-BCB1-4FEE-8FA5-5EECF1F757E8@dsl-only.net> References: <9682273F-8B85-4351-AB2B-011240D40327@dsl-only.net> <160E2B60-047A-4E5B-A258-334155CDEC0B@dsl-only.net> To: FreeBSD PowerPC ML , freebsd-ports@freebsd.org X-Mailer: Apple Mail (2.2070.6) Cc: freebsd-toolchain@freebsd.org X-BeenThere: freebsd-ports@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: Porting software to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 18 Mar 2015 03:02:52 -0000 patch-utils_llvm-build_llvmbuild_main.py is missing a powerpc64 entry, = such as illustrated below. $ svnlite diff /usr/ports/lang/clang36 Index: = /usr/ports/lang/clang36/files/patch-utils_llvm-build_llvmbuild_main.py =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- = /usr/ports/lang/clang36/files/patch-utils_llvm-build_llvmbuild_main.py = (revision 381120) +++ = /usr/ports/lang/clang36/files/patch-utils_llvm-build_llvmbuild_main.py = (working copy) @@ -3,7 +3,7 @@ =20 --- utils/llvm-build/llvmbuild/main.py.orig +++ utils/llvm-build/llvmbuild/main.py -@@ -633,7 +633,13 @@ +@@ -633,7 +633,14 @@ =20 # We handle a few special cases of target names here for = historical # reasons, as these are the names configure currently comes up = with. @@ -13,6 +13,7 @@ + 'i386' : 'X86', + 'mips' : 'Mips', + 'powerpc' : 'PowerPC', ++ 'powerpc64' : 'PowerPC', + 'sparc64' : 'Sparc', + 'x86' : 'X86', 'x86_64' : 'X86', =3D=3D=3D Mark Millard markmi at dsl-only.net On 2015-Mar-16, at 11:00 PM, Mark Millard = wrote: The 2 powerpc (non-64) build attempts for clang 3.6 did not get this = problem. So this specific problem is powerpc64 specific. Bootstrapping powerpc (non-64) clang 3.6 via gcc 4.8.4 (the current = lang/gcc) works fine. (In absence of any c++ port lang/clang36 = automatically installed lang/gcc (currently gcc 4.8.4) in order to = bootstrap itself.) Bootstrapping powerpc (non-64) clang 3.6 via gcc5 (by having lang/gcc5 = already installed first) still reports an error for not declaring = ::sscanf, just like powerpc64 based on gcc5 for bootstrapping did. (This might be llvm/clang making use of only where an include = of would be required to be involved in order to guarantee the = :: (global) declaration/definition. The way the C++ standard (all = vintages) is written gcc 4.8.4 and gcc5 could be this different and both = be valid/conforming.) =3D=3D=3D Mark Millard markmi at dsl-only.net On 2015-Mar-16, at 05:04 PM, Mark Millard = wrote: Basic context (more context details listed later): # freebsd-version -ku; uname -ap 11.0-CURRENT 11.0-CURRENT FreeBSD FBSDG5C0 11.0-CURRENT FreeBSD 11.0-CURRENT #0 r279514M: Wed Mar = 11 19:23:14 PDT 2015 = root@FBSDG4C0:/usr/obj/powerpc.powerpc64/usr/srcC/sys/GENERIC64vtsc-NODEBU= G powerpc powerpc64 The problem: portmaster -tDK --no-confirm lang/clang36 is how I started the build. The error report was after it reported entering the directory: = /usr/obj/portswork/usr/ports/lang/clang36/work/llvm-3.6.0.src/tools/clang/= lib/Driver/ The report was: llvm-build: error: invalid native target: 'powerpc64' (not in project) I'd be surprised if 11.0-CURRENT vs. 10.1-STABLE matters. But powerpc64 = likely does. I've not yet tried from a powerpc (non-64) FreeBSD build. I'll note that with top -PaSCHopid I watched it compile the PowerPc code = generator software: it shoudl be able to handle PowerPCs fine. My guess is a conversion of naming conventions is required someplace: FreeBSD using powerpc64 vs. clang using ppc64. (Big endian context.) This likely would matter for little endian naming as well (ppc64le on = the clang end of things I expect).=20 Context details: # svnlite info /usr/ports/lang/clang36 Path: lang/clang36 Working Copy Root Path: /usr/ports URL: https://svn0.us-west.freebsd.org/ports/head/lang/clang36 Relative URL: ^/head/lang/clang36 Repository Root: https://svn0.us-west.freebsd.org/ports Repository UUID: 35697150-7ecd-e111-bb59-0022644237b5 Revision: 381120 Node Kind: directory Schedule: normal Last Changed Author: brooks Last Changed Rev: 380295 Last Changed Date: 2015-03-02 12:21:38 -0800 (Mon, 02 Mar 2015) It used gcc5 to bootstrap as there was no clang present and that is the = only gcc port installed: # svnlite info /usr/ports/lang/gcc5 Path: lang/gcc5 Working Copy Root Path: /usr/ports URL: https://svn0.us-west.freebsd.org/ports/head/lang/gcc5 Relative URL: ^/head/lang/gcc5 Repository Root: https://svn0.us-west.freebsd.org/ports Repository UUID: 35697150-7ecd-e111-bb59-0022644237b5 Revision: 381120 Node Kind: directory Schedule: normal Last Changed Author: gerald Last Changed Rev: 380943 Last Changed Date: 2015-03-10 10:00:25 -0700 (Tue, 10 Mar 2015) # more /etc/make.conf #CPP=3Dclang-cpp #CC=3Dclang #CXX=3Dclang++ WRKDIRPREFIX=3D/usr/obj/portswork #WITH_DEBUG=3D MALLOC_PRODUCTION=3D =3D=3D=3D Mark Millard markmi at dsl-only.net