From owner-freebsd-arch@FreeBSD.ORG Mon Jul 7 23:52:43 2014 Return-Path: Delivered-To: freebsd-arch@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 211227D7; Mon, 7 Jul 2014 23:52:43 +0000 (UTC) Received: from mail-wg0-x22c.google.com (mail-wg0-x22c.google.com [IPv6:2a00:1450:400c:c00::22c]) (using TLSv1 with cipher ECDHE-RSA-RC4-SHA (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 5A8152EA6; Mon, 7 Jul 2014 23:52:42 +0000 (UTC) Received: by mail-wg0-f44.google.com with SMTP id k14so5128891wgh.27 for ; Mon, 07 Jul 2014 16:52:40 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=sender:date:from:to:cc:subject:message-id:references:mime-version :content-type:content-disposition:in-reply-to:user-agent; bh=o14OXk5SFzKUqKZ9/2PaYZHX1FPAFRXCc6pLX/tCOp0=; b=gXrlPxaIpvIBLMK2pxRT4Pe1e/ezP5f+NrGNe7q66vssxX0NEliCLH3cutRb783VoW yVVYG9R1REFuhJwyj+OtOFtK+fEwJh0Na4VWMV3bIBif/XRpfNylBec2yqk81Z03oVy0 gKKT95+Xra1s8AQzndiSx3tUP9e0fiTL0e8x8Ppq5gq2Jh4/9WTpepQuqKgSl6X25aFs RraIwrfTI0huc691ogRzT/ylzuZXOthoniLl4UV5rpyldHFg4AjbOzZRwF3EW0D/n0NI Y8uCP3xMOffUuNxkxrU8qXI1c+IXMQt6168MxAxj7BC2q6I2w2B31cFgtotAmvIMDpOk JFTQ== X-Received: by 10.194.157.195 with SMTP id wo3mr23466wjb.130.1404777160508; Mon, 07 Jul 2014 16:52:40 -0700 (PDT) Received: from ivaldir.etoilebsd.net ([2001:41d0:8:db4c::1]) by mx.google.com with ESMTPSA id lk7sm92500488wjb.24.2014.07.07.16.52.38 for (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 07 Jul 2014 16:52:39 -0700 (PDT) Sender: Baptiste Daroussin Date: Tue, 8 Jul 2014 01:52:37 +0200 From: Baptiste Daroussin To: Warner Losh Subject: Re: Total confusion over toolchain/xdev behavior Message-ID: <20140707235237.GG97203@ivaldir.etoilebsd.net> References: <1404688077.1059.115.camel@bruno> <1404766292.65432.43.camel@revolution.hippie.lan> <20B72004-1499-4F99-A7C7-13173C50C7C6@bsdimp.com> MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="CEUtFxTsmBsHRLs3" Content-Disposition: inline In-Reply-To: <20B72004-1499-4F99-A7C7-13173C50C7C6@bsdimp.com> User-Agent: Mutt/1.5.23 (2014-03-12) Cc: sbruno@FreeBSD.org, Ian Lepore , freebsd-arch@FreeBSD.org X-BeenThere: freebsd-arch@freebsd.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: Discussion related to FreeBSD architecture List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 07 Jul 2014 23:52:43 -0000 --CEUtFxTsmBsHRLs3 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Mon, Jul 07, 2014 at 05:27:25PM -0600, Warner Losh wrote: >=20 > On Jul 7, 2014, at 2:51 PM, Ian Lepore wrote: >=20 > > On Sun, 2014-07-06 at 16:07 -0700, Sean Bruno wrote: > >> Objective: install an xcompile toolchain into a jail for use by > >> poudriere during arm/mips/sparc/power ports pkgs builds. The build > >> should be possible from a non-root user. > >>=20 > >> As far as I can tell, the xdev target is completely busted for non-cla= ng > >> arch's right now as it tries to build clang no matter what I do. Its > >> missing some pretty key documentation to making it work correctly, so a > >> lot of my attempts have been "guess and check" with verbose make. > >>=20 > >> ----------------------------------------------------------------------- > >> Attempt #1: > >> I have been trying non-root xdev builds: > >> MAKEOBJDIRPREFIX=3D/var/tmp make -s -j8 xdev XDEV=3Dmips XDEV_ARCH=3Dm= ips > >> -- dies because it tries to compile CLANG. > >> ----------------------------------------------------------------------- > >>=20 > >> Attempt #2: > >> Apply a hack from Baptiste that isn't quite right, but at least gets > >> farther, note the missing variable causing "//usr/mips-freebsd" > >> http://people.freebsd.org/~sbruno/src.ops.mk.diff > >>=20 > >> =3D=3D=3D> gnu/usr.bin/cc/gcov (all) > >> mtree populating //usr/mips-freebsd > >> mkdir: //usr/mips-freebsd: Permission denied > >> *** Error code 1 > >> ----------------------------------------------------------------------- > >>=20 > >> Attempt #3: Add XDTP > >> MAKEOBJDIRPREFIX=3D/var/tmp make -s xdev XDEV=3Dmips XDEV_ARCH=3Dmips > >> XDTP=3D/var/tmp/mips_cc > >>=20 > >> Try defining a XDTP=3D/var/tmp/mips_cc with the above patch applied, g= et's > >> a bit farther but compile failure in locating critical include files. > >>=20 > >> =3D=3D=3D> gnu/lib/libstdc++ (obj,depend,all,install) > >> In file included from /home/sbruno/bsd/fbsd_head/gnu/lib/libstdc > >> ++/../../../contrib/libstdc++/src/bitmap_allocator.cc:30: > >> /home/sbruno/bsd/fbsd_head/gnu/lib/libstdc++/../../../contrib/libstdc > >> ++/include/ext/bitmap_allocator.h:37:54: error: cstddef: No such file = or > >> directory > >> ----------------------------------------------------------------------- > >>=20 > >> Attempt #4: Add the additional XDDESTDIR > >> MAKEOBJDIRPREFIX=3D/var/tmp make -s xdev XDEV=3Dmips XDEV_ARCH=3Dmips > >> XDTP=3D/var/tmp/mips_cc XDESTDIR=3D/var/tmp/mips_dst > >> -- Same results as attempt #3 > >> ----------------------------------------------------------------------- > >>=20 > >> Even attempting to do stuff for *clang* enabled architectures bails > >> because its not respecting prefixes: > >> MAKEOBJDIRPREFIX=3D/var/tmp make -s -j 8 xdev XDEV=3Darm XDEV_ARCH=3Da= rmv6 > >> -- bails because it tries to: > >> =3D=3D=3D> usr.bin/clang/tblgen (all) > >> mtree populating //usr/armv6-freebsd > >> mtree: etc/ntp: Permission denied > >> _xi-cross-tools > >> =3D=3D=3D> xdev gnu/usr.bin/binutils (install) > >> =3D=3D=3D> gnu/usr.bin/binutils/libiberty (install) > >> =3D=3D=3D> gnu/usr.bin/binutils/libbfd (install) > >> =3D=3D=3D> gnu/usr.bin/binutils/libopcodes (install) > >> =3D=3D=3D> gnu/usr.bin/binutils/libbinutils (install) > >> =3D=3D=3D> gnu/usr.bin/binutils/addr2line (install) > >> =3D=3D=3D> gnu/usr.bin/binutils/as (install) > >> =3D=3D=3D> gnu/usr.bin/binutils/ld (install) > >> install: //usr/armv6-freebsd/usr/bin/ld: Permission denied > >> *** Error code 71 > >>=20 > >> ----------------------------------------------------------------------- > >> Adding XDTP and XDDESTDIR results in a little more progress but obvious > >> failures to attempt and install things directly into my host system: > >>=20 > >> MAKEOBJDIRPREFIX=3D/var/tmp make -s xdev XDEV=3Darm XDEV_ARCH=3Darmv6 > >> XDDESTDIR=3D/var/tmp/arm_cc XDTP=3D/var/tmp/armv6_cc > >> =3D=3D=3D> secure/lib/libssh (install) > >> =3D=3D=3D> usr.bin/lex/lib (obj,depend,all,install) > >> mkdir: ../../../../usr: Permission denied > >> *** Error code 1 > >>=20 > >> Stop. > >> make[1]: stopped in /home/sbruno/bsd/fbsd_head > >> *** Error code 1 > >>=20 > >> Stop. > >> make: stopped in /home/sbruno/bsd/fbsd_head > >=20 > > It looks to me like the permission part of the problem is being caused > > by a lack of DESTDIR=3D. Without that, it's trying to install to /usr = and > > you don't have permission for that. Maybe the confusion is because the > > xdev target inherently builds-and-installs, unlike most other targets > > that separate those two actions. >=20 > OK. After some detective work, it looks like libstdc++ needs to be done b= efore libsupc++ is done. I=E2=80=99ve added this dependency in r268377 and = was able to do a full xdev build with a clean obj dir: >=20 > rm -rf $HOME/F $MAKEOBJDIRPREFIX/mips-freebsd > mkdir $HOME/F > make xdev DESTDIR=3D$HOME/F XDEV=3Dmips XDEV_ARCH=3Dmips WITHOUT_CLANG= =3Dt WITHOUT_CLANG_BOOTSTRAP=3Dt WITH_GCC=3Dt WITH_GCC_BOOTSTRAP=3Dt WITH_G= NUCXX=3Dt -j 20 We can avoid most of the above by using a patch like the following: http://people.freebsd.org/~bapt/Makefile.inc1.diff Extending the same thing xi-cross-tools and xb-cross-tools (expect the WITH_GNUCXX=3Dt because it it not set in src.opts.mk when it imho should.) regards, Bapt --CEUtFxTsmBsHRLs3 Content-Type: application/pgp-signature -----BEGIN PGP SIGNATURE----- Version: GnuPG v2 iEYEARECAAYFAlO7MsUACgkQ8kTtMUmk6EyJ8wCff7XMATfK4j4N77smru0Nl5D8 geIAoIARwHUNcwecZemz27EUiWIyH/rN =In69 -----END PGP SIGNATURE----- --CEUtFxTsmBsHRLs3--