From owner-freebsd-current@freebsd.org Wed Feb 1 09:21:50 2017 Return-Path: Delivered-To: freebsd-current@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id E0BD6CCB31C for ; Wed, 1 Feb 2017 09:21:50 +0000 (UTC) (envelope-from ohartmann@walstatt.org) Received: from mout.gmx.net (mout.gmx.net [212.227.17.22]) (using TLSv1.2 with cipher DHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "mout.gmx.net", Issuer "TeleSec ServerPass DE-2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 5DDF3B1D for ; Wed, 1 Feb 2017 09:21:46 +0000 (UTC) (envelope-from ohartmann@walstatt.org) Received: from freyja.zeit4.iv.bundesimmobilien.de ([87.138.105.249]) by mail.gmx.com (mrgmx101 [212.227.17.168]) with ESMTPSA (Nemesis) id 0Lx4dh-1cNUIA32vx-016j7Q; Wed, 01 Feb 2017 10:21:35 +0100 Date: Wed, 1 Feb 2017 10:21:28 +0100 From: "O. Hartmann" To: freebsd-poudriere@freebsd.org, freebsd-current@freebsd.org Subject: install jail from precompiled world fails due to different MAKEDIROBJPREFIX Message-ID: <20170201102128.5073182b@freyja.zeit4.iv.bundesimmobilien.de> Organization: Walstatt X-Mailer: Claws Mail 3.14.1 (GTK+ 2.24.29; amd64-portbld-freebsd12.0) MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit X-Provags-ID: V03:K0:g97o/070hwqCoC1aTw6WL5gtnDVUQNo7bdGrLDNMgwNZc4i/leC i5IYUIQHw0pL/shEV/CkuiGwTvE9JIa0Tzn/HuWw22im6SL7xJWVXzmr8nY0xPN8PCIS76N 2ouMh0j0NpNhvvUnr3JJLS83JStWgFYaZzepg0oN860j6AzVmDwqbiWxDU1/9BR69yE/h8l qt0qkgmo54Xhz4QzHA5Kg== X-UI-Out-Filterresults: notjunk:1;V01:K0:kiLvXD/nobg=:+3yNU4CJtEGnd5A6YBOcOs 8YNWk/xd6RC+KMmVgGD0cSNmkjVbLtKij9pDxonIqqX6ImkJe2FooL2dprpNHJd5ExeZncytM 6zhPLZOSp6LpJVuZVjub6kTOgpj245vDpgl1qdivc/m1T6kuNtk4RpFBqInFZtEI0Vysi834O o6cONS7oqEY/KsBgnD/CwnrmH5phtqv6rdJx9ctPdU8DggkXCqVSQMddrctpx40k5TCzXSN7N MUEEB6ExC8U5OQFMDi7qjewGR6ArHYUvftZ8Y7JIAcKDvRMjBi1ArmfwWLF+edsudZVthSM0c AeBrCE1fgm1Azvd3OKEs4kwgAPnoDBBJZuy/a8B+31jFLXq7ZJSUq3l5WiL9F7Sokoxdq8sd+ /uwcMhz/UXMaB6GvVAFeSgTCrpOQRyiP15uDMXqlOfWp2jh843F6bUZs1oamryKbOlJozL3QO wu0Jvojv6UM6DsTLIVvm9Vq99vVb1K6r02No3b7JXnSTOTBq8hYZ0EqD/v1XmK9CjpsteQ6Z0 tiAaIqqfAprG888+ROC6i2LVoRJpIBZubMRigg2N/E+o3KRy3aFuBzxD99Lhw5lZI00qPt95n ZsPV+KJbYJd8svX2hgqbxf3S9VbjJWiCqJTznNgAxb7rLsGsv9Pp4P2CtTQyrBFRpY63HC64z WOh2U0vwbrIYwWKJ6p9LDV6RsecYSboejRVsZIJPJ5Qu+3G2JI/RO6yZgAKeRaTlv72L5EHHA sKP8ANZToPG1Ej6t37dIeYlc+9k5zrZceDQRh39sBMpwQLw8j2ANsAcF0gBQZ1eeQv0RvWe3s /ISCkeUG+BX566DA7gH9wfDxbidNtT3B7ZlcyCzlQiIFOIuycRVg1zqFHnhRuppw9RdSIO/aA i7Ifbc3ARfm/iZEQDzZ+1/PX2OHmMdFfTxsdtASqdQv2y3/84UX1/ehrYqax7EJBtUSQO7ivj uZhtmdg5viFy8SWRDUNbUTfA87rXrun15ZdQG7lX3bj73KzX3X9BgbI6l+5POMTqe9y9E5iHD bxY65Coq/4Ta7qy4Gye3Pqv94nRyLrw+50cRPb6TMmSGR2PJYeUIuPkhE3nw3/7QBQ== X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 01 Feb 2017 09:21:51 -0000 For several projects managed with NanoBSD I need different source trees (10.3, 10-STABLE, 11-STABLE, CURRENT). The source resides in /foo/bar/CURRENT/src or /foo/bar/10.3-RELEASE/src. For the build of AARCH64 ports, I have also already built CURRENT for arm64.aarch64. ARM64 buildworld is sensitive to compiler optimisation, libc fails to build if -O3 is set (which is _my_ standard on AMD64, given in /etc/src.conf). Since I do not want to have a waste of space, /foo/bar/CURRENT/src holds CURRENT sources and with MAKEOBJDIRPREFIX=/foo/bar/CURRENT/obj/arm64 set a conflicting libc issue (as mentioned above) can be avoided from a prebuild AMD64 world. My thinking was, that "make TARGET=arm64 buildworld" will not use /foo/bar/CURRENT/obj, but rather /foo/bar/CURRENT/obj/arm64.aarch64 as the base for the resulting world, but this is a mistake. So, setting MAKEOBJDIRPREFIX=/foo/bar/CURRENT/obj/arm64 is a way out of this dilemma. In any environment capable of taking MAKEOBJDIRPREFIX there is no problem, but with poudriere, I have unexpected trouble. I need to install the world for arm64.aarch64, therefore, I ran in the first place the command as follows to install a jail(while believeing /foo/bar/CURRENT/obj/arm64.aarch64 is the base of the world for arm64 target): poudriere jail -c -v head -j arm64 -m src=/foo/bar/CURRENT/src -M /somewhere/in/the/tree That fails, since /foo/bar/CURRENT/obj contains the AMD64 world and /foo/bar/CURRENT/obj/arm64.aarch64 seems to be insufficient respected. Wasn't the idea of /usr/src and /usr/obj to have one source tree, but different trees for the resulting world and kernel? A "native" build on AMD64 doesn't go into /usr/obj/amd64, it has its root at /usr/obj, but for the cross compiled world, it is then /usr/obj/arm64.aarch64. The problem then starts to get critical for poudriere. I neither do not want to compile a fresh world via setting -m svn+https nor do I want to installed precompiled binaries from remote. I already have(!) a successfully built word, so all I need seems to apply the right delegatin of that what "MAKEOBJDIRPREFIX" represents. Am I missing here something or is poudriere not capable of handling this view? Thank you in advance, Oliver