From owner-freebsd-current@freebsd.org Wed Feb 1 09:54:12 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 D9DC0CCBA97 for ; Wed, 1 Feb 2017 09:54:12 +0000 (UTC) (envelope-from ohartmann@walstatt.org) Received: from mout.gmx.net (mout.gmx.net [212.227.17.20]) (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 52B0E1AAA for ; Wed, 1 Feb 2017 09:54:11 +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 0LhB9P-1c5G9649mJ-00oVet; Wed, 01 Feb 2017 10:54:04 +0100 Date: Wed, 1 Feb 2017 10:54:02 +0100 From: "O. Hartmann" To: "O. Hartmann" Cc: freebsd-poudriere@freebsd.org, freebsd-current@freebsd.org Subject: Re: install jail from precompiled world fails due to different MAKEDIROBJPREFIX Message-ID: <20170201105402.0a0ad09c@freyja.zeit4.iv.bundesimmobilien.de> In-Reply-To: <20170201102128.5073182b@freyja.zeit4.iv.bundesimmobilien.de> References: <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:4smS+6wWAtji6lxn7jTMY9+/V1xvX0az18WQU5jS4ja71q9R83i tV4kykS/gglgqTfkO7dkBAJFzd8QE1+WqF8j9dz5kHO3Wt8jx4DlDD+GObQkZio9PVg7NcQ uZfeUnjRrZsaupN1JwzikKgeKJPXlJoM674cpye/aDQsPw+ANUCz+JhBDv1wYy7sMNabXIX DBIE0vAlzZd9umfHHk9nQ== X-UI-Out-Filterresults: notjunk:1;V01:K0:JA3tKXaRp6Y=:W6fCFEnCoZlqkAKSOGU/iY Enzmu0OPqurhlpmZxSTHvqiBUAGWmvXieTW4f22rP9kT0wjVgm3mKJ7BbxodJndZB9MZkn/My 8qAnEJOqyomsIVe9BUqy4YlLv9HsZebV3zxH2Ni5YSZd4ftdBiEzNDeZ2YeszalwDygFIlkrw btnbo5DNHpJhvv9dUHPutEMQDx1xuoSdF1O6+LXuW09B/dNeIsLbk6+XfTqXm1kTaJtolIeiH TaHDBnt8DUMEKmZ7uzmvFfHhPDSMvadvJ7rzJElnsffnAQpUrqSanMdNqTflX/PlpOBStzYQJ 8J3FMUtTArCXFUib+5v7bFe3HnB0Z1ESjBZCm49TUJ4UzW062wMxyThjWZc2dOX8wvc4MxieU Y8oamkAEfbVPQQuff2IMiYD/NI4e7LfBJCH1iuXUo/gQPgicO64NIyALYQC8qYMI8lr6KRzti fV3gRyE84I/Q2bzHtm2moodpUIeaHW+SkEGeeuj2osNf3oD6UKi6yMwOYe1jmw3/6l3fBscOg V8hW/DTpEJMQ/ehfWIU5wTuOdFUTW7o2zJRsyAzj4JzS+fuyvMHHdu2RHjs7VaolWM5xrSxEl P5fSbA/Y0671E9Q0IBdR8dTgIkVUahDS+YoF2CzORi6Y1ghbcQ57ZVSQjyPQ2PacZF/b/T6NC ERceNXfJE9BQzlXTxeMSDq7LFT03GHAIqfmakLxsXG/c2zubj5snJrp8fD6m7b4TY7/wrjL0C s/ZrjO1DK68Ti7TsADc992kER9/6MtAbIcGka5deSFEIgtDJ2Z4qT9sJJXzHnJqS14AEtg+fR /nopPVb 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:54:12 -0000 On Wed, 1 Feb 2017 10:21:28 +0100 "O. Hartmann" wrote: > 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 > _______________________________________________ > freebsd-current@freebsd.org mailing list > https://lists.freebsd.org/mailman/listinfo/freebsd-current > To unsubscribe, send any mail to "freebsd-current-unsubscribe@freebsd.org" Assuming a prebuild world for arm64.aarch64 at /pool/sources/CURRENT/src and have this path given to poudriere with option "-m src=" when creating the jail, I get this error message: [...] -------------------------------------------------------------- >>> Installing everything -------------------------------------------------------------- cd /pool/sources/CURRENT/src; make -f Makefile.inc1 install ===> lib (install) ===> lib/csu (install) ===> lib/csu/aarch64 (install) cc -target aarch64-unknown-freebsd12.0 --sysroot=/usr/obj/arm64.aarch64/pool/sources/CURRENT/src/tmp -B/usr/local/aarch64-freebsd/bin/ -O2 -pipe -O3 -O3 -I/pool/sources/CURRENT/src/lib/csu/common -I/pool/sources/CURRENT/src/lib/libc/include -DNDEBUG -std=gnu99 -Wsystem-headers -Wall -Wno-format-y2k -W -Wno-unused-parameter -Wstrict-prototypes -Wmissing-prototypes -Wpointer-arith -Wreturn-type -Wcast-qual -Wwrite-strings -Wswitch -Wshadow -Wunused-parameter -Wcast-align -Wchar-subscripts -Winline -Wnested-externs -Wredundant-decls -Wold-style-definition -Wno-pointer-sign -Wthread-safety -Wno-empty-body -Wno-string-plus-int -Wno-unused-const-variable -Qunused-arguments ERROR-tried-to-rebuild-during-make-install -S -o crt1.s /pool/sources/CURRENT/src/lib/csu/aarch64/crt1.c /tmp/install.RHDj388k/sh: cc: not found *** Error code 127 [...] See the systroot=usr/obj/arm64.aarch64/pool/sources/CURRENT/src/tmp which is definitely wrong. The command sequence in full detail is: poudriere jail -cj headarm64 -v head -a arm64.aarch64 -m src=/pool/sources/CURRENT/src