Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 22 Apr 2021 10:28:13 +0200
From:      Peter Blok <pblok@bsd4all.org>
To:        Yoshihiro Ota <ota@j.email.ne.jp>
Cc:        freebsd-hackers@freebsd.org
Subject:   Re: cross building i386 on amd64
Message-ID:  <90E56B6C-7ED3-41E5-9BE5-7B61DAD843B0@bsd4all.org>
In-Reply-To: <20210416081208.bdd3f0ffcd2120ee72f18459@j.email.ne.jp>
References:  <376DADB2-A7A9-4519-888C-BCD8A32B62B3@bsd4all.org> <98964b07-b9a5-ca23-ef9d-7cb87d086282@FreeBSD.org> <20210416081208.bdd3f0ffcd2120ee72f18459@j.email.ne.jp>

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

Hi,

Thanks for all the ideas. I’ll try what works and report back.

Peter

> On 16 Apr 2021, at 14:12, Yoshihiro Ota <ota@j.email.ne.jp> wrote:
> 
> Hi
> 
> On Fri, 16 Apr 2021 22:35:55 +0300
> Andriy Gapon <avg@FreeBSD.org <mailto: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
> _______________________________________________
> freebsd-hackers@freebsd.org <mailto:freebsd-hackers@freebsd.org> mailing list
> https://lists.freebsd.org/mailman/listinfo/freebsd-hackers <https://lists.freebsd.org/mailman/listinfo/freebsd-hackers>;
> To unsubscribe, send any mail to "freebsd-hackers-unsubscribe@freebsd.org <mailto:freebsd-hackers-unsubscribe@freebsd.org>"




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?90E56B6C-7ED3-41E5-9BE5-7B61DAD843B0>