From owner-freebsd-toolchain@FreeBSD.ORG Wed Mar 18 14:32:27 2015 Return-Path: Delivered-To: freebsd-toolchain@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 A634E1B1; Wed, 18 Mar 2015 14:32:27 +0000 (UTC) Received: from spindle.one-eyed-alien.net (spindle.one-eyed-alien.net [199.48.129.229]) by mx1.freebsd.org (Postfix) with ESMTP id 7D2D32C1; Wed, 18 Mar 2015 14:32:27 +0000 (UTC) Received: by spindle.one-eyed-alien.net (Postfix, from userid 3001) id 419FE5A9F27; Wed, 18 Mar 2015 14:32:21 +0000 (UTC) Date: Wed, 18 Mar 2015 14:32:21 +0000 From: Brooks Davis To: Mark Millard Subject: Re: powerpc64 11.0-CURRENT portmaster lang/clang36 gets error: llvm-build: error: invalid native target: 'powerpc64' (not in project) Message-ID: <20150318143221.GB52442@spindle.one-eyed-alien.net> References: <9682273F-8B85-4351-AB2B-011240D40327@dsl-only.net> <160E2B60-047A-4E5B-A258-334155CDEC0B@dsl-only.net> <1E76AC30-BCB1-4FEE-8FA5-5EECF1F757E8@dsl-only.net> MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="WIyZ46R2i8wDzkSu" Content-Disposition: inline In-Reply-To: <1E76AC30-BCB1-4FEE-8FA5-5EECF1F757E8@dsl-only.net> User-Agent: Mutt/1.5.23 (2014-03-12) Cc: freebsd-toolchain@freebsd.org, freebsd-ports@freebsd.org, FreeBSD PowerPC ML X-BeenThere: freebsd-toolchain@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: Maintenance of FreeBSD's integrated toolchain List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 18 Mar 2015 14:32:27 -0000 --WIyZ46R2i8wDzkSu Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable It appears that I added powerpc64 (and several others) to the devel/llvm* ports version of this patch, but didn't do it for lang/clang*. I'll sync them up. -- Brooks On Tue, Mar 17, 2015 at 08:02:47PM -0700, Mark Millard wrote: > patch-utils_llvm-build_llvmbuild_main.py is missing a powerpc64 entry, su= ch as illustrated below. >=20 > $ svnlite diff /usr/ports/lang/clang36 > Index: /usr/ports/lang/clang36/files/patch-utils_llvm-build_llvmbuild_mai= n.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.p= y (revision 381120) > +++ /usr/ports/lang/clang36/files/patch-utils_llvm-build_llvmbuild_main.p= y (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', >=20 >=20 > =3D=3D=3D > Mark Millard > markmi at dsl-only.net >=20 > On 2015-Mar-16, at 11:00 PM, Mark Millard wrote: >=20 > The 2 powerpc (non-64) build attempts for clang 3.6 did not get this prob= lem. >=20 > So this specific problem is powerpc64 specific. >=20 > 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 ins= talled lang/gcc (currently gcc 4.8.4) in order to bootstrap itself.) >=20 > Bootstrapping powerpc (non-64) clang 3.6 via gcc5 (by having lang/gcc5 al= ready installed first) still reports an error for not declaring ::sscanf, j= ust like powerpc64 based on gcc5 for bootstrapping did. >=20 > (This might be llvm/clang making use of only where an include of= would be required to be involved in order to guarantee the :: (g= lobal) declaration/definition. The way the C++ standard (all vintages) is w= ritten gcc 4.8.4 and gcc5 could be this different and both be valid/conform= ing.) >=20 >=20 > =3D=3D=3D > Mark Millard > markmi at dsl-only.net >=20 > On 2015-Mar-16, at 05:04 PM, Mark Millard wrote: >=20 > Basic context (more context details listed later): >=20 > # freebsd-version -ku; uname -ap > 11.0-CURRENT > 11.0-CURRENT > FreeBSD FBSDG5C0 11.0-CURRENT FreeBSD 11.0-CURRENT #0 r279514M: Wed Mar 1= 1 19:23:14 PDT 2015 root@FBSDG4C0:/usr/obj/powerpc.powerpc64/usr/srcC/s= ys/GENERIC64vtsc-NODEBUG powerpc powerpc64 >=20 >=20 > The problem: >=20 > portmaster -tDK --no-confirm lang/clang36 is how I started the build. >=20 > The error report was after it reported entering the directory: >=20 > /usr/obj/portswork/usr/ports/lang/clang36/work/llvm-3.6.0.src/tools/clang= /lib/Driver/ >=20 > The report was: >=20 > llvm-build: error: invalid native target: 'powerpc64' (not in project) >=20 >=20 > I'd be surprised if 11.0-CURRENT vs. 10.1-STABLE matters. But powerpc64 l= ikely does. I've not yet tried from a powerpc (non-64) FreeBSD build. >=20 > I'll note that with top -PaSCHopid I watched it compile the PowerPc code = generator software: it shoudl be able to handle PowerPCs fine. >=20 > My guess is a conversion of naming conventions is required someplace: >=20 > FreeBSD using powerpc64 vs. clang using ppc64. (Big endian context.) >=20 > This likely would matter for little endian naming as well (ppc64le on the= clang end of things I expect).=20 >=20 >=20 >=20 >=20 > Context details: >=20 > # 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) >=20 > It used gcc5 to bootstrap as there was no clang present and that is the o= nly gcc port installed: >=20 > # 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) >=20 > # more /etc/make.conf > #CPP=3Dclang-cpp > #CC=3Dclang > #CXX=3Dclang++ > WRKDIRPREFIX=3D/usr/obj/portswork > #WITH_DEBUG=3D > MALLOC_PRODUCTION=3D >=20 >=20 > =3D=3D=3D > Mark Millard > markmi at dsl-only.net >=20 >=20 >=20 > _______________________________________________ > freebsd-toolchain@freebsd.org mailing list > http://lists.freebsd.org/mailman/listinfo/freebsd-toolchain > To unsubscribe, send any mail to "freebsd-toolchain-unsubscribe@freebsd.o= rg" >=20 --WIyZ46R2i8wDzkSu Content-Type: application/pgp-signature -----BEGIN PGP SIGNATURE----- Version: GnuPG v1 iEYEARECAAYFAlUJjHQACgkQXY6L6fI4GtSBuwCgsvPnavBdg0zrxEjKlle3mLjw qJMAoMAG5rw0I1GC/NbyzA7D23VR17Ju =fGr3 -----END PGP SIGNATURE----- --WIyZ46R2i8wDzkSu--