Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 16 Apr 2021 08:12:08 -0400
From:      Yoshihiro Ota <ota@j.email.ne.jp>
To:        Peter Blok <pblok@bsd4all.org>, freebsd-hackers@freebsd.org
Subject:   Re: cross building i386 on amd64
Message-ID:  <20210416081208.bdd3f0ffcd2120ee72f18459@j.email.ne.jp>
In-Reply-To: <98964b07-b9a5-ca23-ef9d-7cb87d086282@FreeBSD.org>
References:  <376DADB2-A7A9-4519-888C-BCD8A32B62B3@bsd4all.org> <98964b07-b9a5-ca23-ef9d-7cb87d086282@FreeBSD.org>

next in thread | previous in thread | raw e-mail | index | archive | help
Hi

On Fri, 16 Apr 2021 22:35:55 +0300
Andriy Gapon <avg@FreeBSD.org> wrote:

> On 16/04/2021 20:22, Peter Blok wrote:
> > Hi,
> > 
> > I’m cross building 12-STABLE i386 on a 12-STABLE amd64 system. Sources are refreshed every day.
> > 
> > Build runs fine and put everything in the right directory. For the target i386 system it is
> > in /usr/obj/i386TARGET.
> > 
> > Next I NFS mount the source /on /usr/src and /usr/obj/i386TARGET on /usr/obj on the target
> > machine
> > 
> > When I run make installworld it will use install
> > from /usr/obj/usr/src/i386.i386/tmp/legacy/usr/bin because it is the first install it finds in
> > the PATH set by installworld. This tanks because install is compiled for amd64.
> > 
> > I understand why the legacy path is compiled for amd64. This is needed to build a distribution.
> > 
> > So is this is bug or is the way I distribute the objects not supported?
> 
> I used this method only for same architecture installations.
> Never tried it for different architectures, so I cannot tell if this is a 
> regression.
> 
> -- 
> Andriy Gapon

I recall someone said build and install needs to be on the same archtecture and base code.

1. I use ggated/ggatec to export i386 device(s) to amd64 and run install on amd64.

2. I haven't tried this for a while and not sure if this still works.
You can use nullfs mount over the i386.i386/tmp to hide binaries from there;
if it hasn't changed, install targets don't build tmp and thus ends up picking from regular /bin and /usr/bin - there may be cases this fails.

Hiro



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20210416081208.bdd3f0ffcd2120ee72f18459>