On Mon, Jan 25, 2016 at 1:55 PM, Daniel Eischen <deischen at freebsd.org> wrote:> > I'm trying to build an i386 buildworld on an amd64 system. > I'm at r294370. > > This is what I've tried so far: > > make TARGET_ARCH=i386 MAKEOBJDIRPREFIX=/opt/foo/obj.x86 -j8 buildworld > make TARGET=i386 MAKEOBJDIRPREFIX=/opt/foo/obj.x86 -j8 buildworld > > Neither of which work. They both result in the error below. What > is the standard procedure for cross-building i386 from amd64? >It looks like you are not alone in encountering these problems. For this build set up by Li-Wen Hsu: https://jenkins.freebsd.org/job/FreeBSD_HEAD_i386 he downloads this image http://ftp.freebsd.org/pub/FreeBSD/releases/i386/i386/10.2-RELEASE/base.txz and then extracts that to create an i386 jail, where the build is performed on an amd64 host. -- Craig
On Mon, 25 Jan 2016, Craig Rodrigues wrote:> On Mon, Jan 25, 2016 at 1:55 PM, Daniel Eischen <deischen at freebsd.org> > wrote: > >> >> I'm trying to build an i386 buildworld on an amd64 system. >> I'm at r294370. >> >> This is what I've tried so far: >> >> make TARGET_ARCH=i386 MAKEOBJDIRPREFIX=/opt/foo/obj.x86 -j8 buildworld >> make TARGET=i386 MAKEOBJDIRPREFIX=/opt/foo/obj.x86 -j8 buildworld >> >> Neither of which work. They both result in the error below. What >> is the standard procedure for cross-building i386 from amd64? >> > > It looks like you are not alone in encountering these problems. > For this build set up by Li-Wen Hsu: > https://jenkins.freebsd.org/job/FreeBSD_HEAD_i386 > > he downloads this image > http://ftp.freebsd.org/pub/FreeBSD/releases/i386/i386/10.2-RELEASE/base.txz > and then extracts that to create an i386 jail, where the build is performed > on an amd64 host.Currently, I'm just trying to test out the cross-build, but the final result is that I want to use nanobsd to create embedded images, all from amd64. Multiple people here want to be able to do that. I don't really want to have to setup a jail (with LDAP logins, cause that's what we use) or even an x86 box to do that. I thought even ARM and MIPS cross-builds worked, I didn't expect amd64->i386 problems. I think I will ask on -current, as that is also an option for us. -- DE
On Mon, 25 Jan 2016, Craig Rodrigues wrote:> On Mon, Jan 25, 2016 at 1:55 PM, Daniel Eischen <deischen at freebsd.org> > wrote: > >> >> I'm trying to build an i386 buildworld on an amd64 system. >> I'm at r294370. >> >> This is what I've tried so far: >> >> make TARGET_ARCH=i386 MAKEOBJDIRPREFIX=/opt/foo/obj.x86 -j8 buildworld >> make TARGET=i386 MAKEOBJDIRPREFIX=/opt/foo/obj.x86 -j8 buildworld >> >> Neither of which work. They both result in the error below. What >> is the standard procedure for cross-building i386 from amd64? >> > > It looks like you are not alone in encountering these problems. > For this build set up by Li-Wen Hsu: > https://jenkins.freebsd.org/job/FreeBSD_HEAD_i386 > > he downloads this image > http://ftp.freebsd.org/pub/FreeBSD/releases/i386/i386/10.2-RELEASE/base.txz > and then extracts that to create an i386 jail, where the build is performed > on an amd64 host.I guess there was a real compilation bug in the version of -stable that I first used. After updating from r294370 to r294747, the problem seems to have been fixed. FYI, the following worked: make TARGET_ARCH=i386 -j4 buildworld -- DE