From owner-freebsd-arch@FreeBSD.ORG Tue Jul 8 01:29:18 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 E687EF41 for ; Tue, 8 Jul 2014 01:29:17 +0000 (UTC) Received: from mail-pd0-f178.google.com (mail-pd0-f178.google.com [209.85.192.178]) (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 B37FC2776 for ; Tue, 8 Jul 2014 01:29:17 +0000 (UTC) Received: by mail-pd0-f178.google.com with SMTP id r10so6264411pdi.37 for ; Mon, 07 Jul 2014 18:29:11 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:sender:content-type:mime-version:subject:from :in-reply-to:date:cc:message-id:references:to; bh=nO77q6ENZHZ0jKsr2uRpgKL0yrO+QIm5Ezw0e8/ZiYA=; b=FlOaG5sIhZ5Ui93eW7rTHQTw9Jurmy/dIZqL0+xkwm4BFVyOs8M9SpY/jlbld0deGN jjX90A0aqcCxVbZOZvBIR7VWbluY6qcbcm6ZW8EsF5hY54Fc8LK4SnrguqpSX8lkky4V BMrRDZdyxUzhWTZ9GAF06x/g3pVUCWNP/15j17JzowIq8rQL6/Q34vMV5Kidqcr7W9Fk NNP7rRMhTBVU1cP8xPxDZk5yebvw4ZoL2c237TWWExNHDe5oOfAA66uAZtsWwHqTh9uT hfQQwErdBxKFJCNIyRyA5B5wArj892V8+cULWLTo+yn2Jh/dCjVY4UnF7bzORnfuuSfZ CR0A== X-Gm-Message-State: ALoCoQnXkHTBtumkeSmBptlH+TjhTY5qf7j2ZY1GIcySZSPYLOjf/LDgROSg2tyBegrhs6RZLouf X-Received: by 10.68.129.99 with SMTP id nv3mr622564pbb.128.1404782951124; Mon, 07 Jul 2014 18:29:11 -0700 (PDT) Received: from [10.64.24.152] (dc1-prod.netflix.com. [69.53.236.251]) by mx.google.com with ESMTPSA id oc3sm22043585pdb.45.2014.07.07.18.29.09 for (version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Mon, 07 Jul 2014 18:29:10 -0700 (PDT) Sender: Warner Losh Content-Type: multipart/signed; boundary="Apple-Mail=_3B88BDAA-FCB4-4A1D-A678-B33E78EBBB59"; protocol="application/pgp-signature"; micalg=pgp-sha512 Mime-Version: 1.0 (Mac OS X Mail 7.3 \(1878.6\)) Subject: Re: Total confusion over toolchain/xdev behavior From: Warner Losh In-Reply-To: <20140707235237.GG97203@ivaldir.etoilebsd.net> Date: Mon, 7 Jul 2014 19:29:01 -0600 Message-Id: References: <1404688077.1059.115.camel@bruno> <1404766292.65432.43.camel@revolution.hippie.lan> <20B72004-1499-4F99-A7C7-13173C50C7C6@bsdimp.com> <20140707235237.GG97203@ivaldir.etoilebsd.net> To: Baptiste Daroussin X-Mailer: Apple Mail (2.1878.6) 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: Tue, 08 Jul 2014 01:29:18 -0000 --Apple-Mail=_3B88BDAA-FCB4-4A1D-A678-B33E78EBBB59 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=windows-1252 On Jul 7, 2014, at 5:52 PM, Baptiste Daroussin wrote: > 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-clang >>>> 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=3Dmips >>>> -- 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, get'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=3Darmv6 >>>> -- 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 before libsupc++ is done. I=92ve 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_GNUCXX=3Dt -j 20 >=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.) The patch looks good to my eye. Did you want me to expand it, or do you = want to do the honors? About the rest=85 Yea, you may be right=85. MK_GNUCXX is an odd duck, = and that=92s likely the problem that should be fixed in a different way. It is really = an internal variable that should be set based on the actual compiler type (possibly = with an override for the odd-duck pair of clang and libstdc++ which may not be = worth supporting). It is telling us we=92re doing something horribly wrong and = we should listen to that rather than add another compiler-related kludge to the build = system. I=92ll work on that bit. Also an aside: The horribly long command line was to try to get to the = bottom of the breakage, not to promote it as the proper way of doing things. Warner --Apple-Mail=_3B88BDAA-FCB4-4A1D-A678-B33E78EBBB59 Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename=signature.asc Content-Type: application/pgp-signature; name=signature.asc Content-Description: Message signed with OpenPGP using GPGMail -----BEGIN PGP SIGNATURE----- Comment: GPGTools - https://gpgtools.org iQIcBAEBCgAGBQJTu0ldAAoJEGwc0Sh9sBEArKUQAMJiIvxp2FgiVk/StHUEUjnx HFXgtSfh3RwTyhaEsnRCz6iILGHNx893Or/23Yw5D7bL43rsDCuqEV3wZIZT5D5a rXj+wudptfOhfpqru4bdtmSmtAXxeMkbpG+xoQilYnsU8r5TimjGuIHia/ZRS7ub +DxW0dMZzbFaKjXDhgYHKSZks6sRUyP5axDYTqz0oRG1g4yBBLSGyhZvdyHFxADA b3T5fVXR/3V3Yv9oUKO8pFb2i0iUok/3IZP8D0vPu70EuWvtpbQBe2cz3ZqxOD/k vlJsjC/IVqDg2xglATp3RQfbo9GXmdCu65CAJobTOrwsOlsVV9BiQvWuv5xmxIUO yxoPrUS7OfQJDsh0+6qkSe+jVKSVr+IwXd7qn/qlE/PEi5QNEmggS9grmPXgA0+q oLnDw6y4x03jKFC29JC/g7gqrhdhQ+G0swmZKUB1YTJrAerHL37kFa97/CwoqESl Aw2/FVazZKh0wmRtR2bv2Crl8BB1NDxgBhTtkhhayVAghQyusQZcwx4KZynV6+nY Hd/opY3wgOGgzXzBeDHYnui20CzTky1/1zh3J9wBUOV0xmBW2wEEWwEzqsl2IKFy xFIp8A+MOmsulte3A+ZxDDByqAOgAiPs0a7tQSAwoaqHzmfaApvSOrxodI0eHSMx NnxZVRoV8Gbu+UJ9AcUq =RhbQ -----END PGP SIGNATURE----- --Apple-Mail=_3B88BDAA-FCB4-4A1D-A678-B33E78EBBB59--