From owner-freebsd-current Sun Mar 31 20:21:41 2002 Delivered-To: freebsd-current@freebsd.org Received: from kayak.xcllnt.net (209-128-86-226.bayarea.net [209.128.86.226]) by hub.freebsd.org (Postfix) with ESMTP id BEBCD37B41B for ; Sun, 31 Mar 2002 20:21:35 -0800 (PST) Received: from athlon.pn.xcllnt.net (athlon.pn.xcllnt.net [192.168.4.3]) by kayak.xcllnt.net (8.11.6/8.11.4) with ESMTP id g314LXb22672; Sun, 31 Mar 2002 20:21:33 -0800 (PST) (envelope-from marcel@kayak.pn.xcllnt.net) Received: from athlon.pn.xcllnt.net (localhost [127.0.0.1]) by athlon.pn.xcllnt.net (8.12.2/8.12.2) with ESMTP id g314LXEF067674; Sun, 31 Mar 2002 20:21:33 -0800 (PST) (envelope-from marcel@athlon.pn.xcllnt.net) Received: (from marcel@localhost) by athlon.pn.xcllnt.net (8.12.2/8.12.2/Submit) id g314LXif067673; Sun, 31 Mar 2002 20:21:33 -0800 (PST) Date: Sun, 31 Mar 2002 20:21:33 -0800 From: Marcel Moolenaar To: cjclark@alum.mit.edu Cc: current@FreeBSD.ORG Subject: Re: Installing Cross Builds Message-ID: <20020401042133.GA66499@athlon.pn.xcllnt.net> References: <20020329131017.W97841@blossom.cjclark.org> <20020401015731.GA43494@athlon.pn.xcllnt.net> <20020331193932.K99214@blossom.cjclark.org> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20020331193932.K99214@blossom.cjclark.org> User-Agent: Mutt/1.3.27i Sender: owner-freebsd-current@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG On Sun, Mar 31, 2002 at 07:39:33PM -0800, Crist J. Clark wrote: > On Sun, Mar 31, 2002 at 05:57:31PM -0800, Marcel Moolenaar wrote: > > On Fri, Mar 29, 2002 at 01:10:17PM -0800, Crist J. Clark wrote: > > > After reviewing the world Makefiles, it sure looks like FreeBSD does > > > not support 'installworld' of a cross build? > > > > Running installworld on machine X, when you did a cross-build for > > machine X on machine Y is broken. All other cases should work, > > AFACT. > > > > The brokenness is directly caused by inconsistent setting of OBJTREE. > > This is indirectly caused make release, for make release expects the > > object tree to be under /usr/obj and not /usr/obj/${TARGET_ARCH}. > > Well, the more direct reason for the breakage is caused by the fact > that the PATH during install is, > > ${WORLDTMP}/usr/sbin:${WORLDTMP}/usr/bin:${WORLDTMP}/usr/games:${INSTALLTMP} > > Which is usually ${OBJTREE}${.CURDIR}/${MACHINE_ARCH}. But that > directory doesn't exist. (Or is that what you are saying?) It's not what I was saying, but you're right. I ran into this as well. See below. What I was saying is that a native build populates /usr/obj/, but a cross build populates /usr/obj//. It would be more consistent to always populate /usr/obj/, and fix make release. > If you fix > that, there is the same issue with ${OBJFORMAT_PATH}. Once you fix > that, you have shared lib problems. (I've never quite figured out what > ${INSTALLTMP} is even there for.) The fix would be to populate WORLDTMP, or otherwise make sure those binaries are in INSTALLTMP as well. The reason for INSTALLTMP is to avoid pulling the rug from under your feet when you have a single pass upgrade. We don't have that (yet?). We tell people to install a new kernel, reboot and then run installworld. A single pass upgrade would save enough programs and libraries to complete the upgrade and then do a reboot. Another problem is parallelism. You may run into the situation that you both install and run the same binary. This can cause breakages. -- Marcel Moolenaar USPA: A-39004 marcel@xcllnt.net To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-current" in the body of the message