Date: Fri, 8 Mar 2024 09:25:39 +0100 From: Oliver Epper <oliver.epper@gmail.com> To: Mark Millard <marklmi@yahoo.com> Cc: FreeBSD Mailing List <freebsd-ports@freebsd.org>, mat@freebsd.org Subject: Re: compiling for other architecture [armv6 targeting specifically] Message-ID: <CAP8tsuRPRZ3p_TtcefVNymzrfkzW5TtN_u6%2Bij8sBVm4s=k3sg@mail.gmail.com> In-Reply-To: <EF443042-9A2D-40D4-8EC1-41EF7BEB8F97@yahoo.com> References: <EF443042-9A2D-40D4-8EC1-41EF7BEB8F97.ref@yahoo.com> <EF443042-9A2D-40D4-8EC1-41EF7BEB8F97@yahoo.com>
next in thread | previous in thread | raw e-mail | index | archive | help
--000000000000883982061321f035 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Hey Mark, Thanks for that information. I messed up the target architecture. I was trying to build for 64 bit arm, anyways (just a typo). I've tried poudriere with qemu-user-static but there are a lot of errors, indeed. Only a few packages build just fine. Since I am fairly new to FreeBSD I was under the impression that it would support aarch64 as a platform. I guess it does, but this does not include the ports collection. No problem. Since I was targeting the Pi as a device for a few simple things I might be able to build what I need without using the ports collection. Are there any plans (or a working group) trying to improve the situation of the ports collection for other platforms? Doing real native cross-compiling and slowly working things out that outright fail even under emulation? Am Di., 5. M=C3=A4rz 2024 um 18:43 Uhr schrieb Mark Millard <marklmi@yahoo.= com>: > Mathieu Arnold <mat_at_freebsd.org> wrote on > Date: Tue, 05 Mar 2024 15:37:08 UTC : > > > I don't think you need to do much of the things you are saying, cross > > building can't really work because most ports will compile something an= d > > then try to run it, which won't work because an armv6 binary won't run > > on a x86_64 machine. > > > > What works on the other hand is using poudriere and qemu-user-static. > > > > you install both, and if you want to build packages for armv6, you just > > create a jail with the arch as "arm.armv6", and then simply run > > poudriere bulk with the arm jail. It will build everything in a jail, > > and you'll get arm packages in the end. > > Back when FreeBSD ran official port -> package building was > targeting armv6 it worked this way. But there were major problems. > > The last armv6 attempt was on Thu, 05 Oct 2023 02:37:41 GMT. It > queued 34637 packages (so a from-scratch build attempt). It built > 8276. 242 failed. 25763 were skipped because of the failures. 356 > were ignored up front. The overall ending status was > "stopped:crashed:". This was a 132releng-armv6 quarterly build. > > The prior from-scratch "stopped:done:" build was on > Sat, 05 Aug 2023 04:40:30 GMT. Queued 34382. Built 26346. Failed > 407. Skipped 6844. Ignored 721. Again a 132releng-armv6 quarterly > build. (Unusually successful for fairly modern times.) > > The most recent from-scratch main-armv6 build (non-quarterly) > goes back to Sun, 11 Dec 2022 03:52:32 GMT. It had a > large incremental build on Thu, 12 Jan 2023 03:51:11 GMT, > which is the last of the "stopped:done" builds for main-armv6. > > From my own on-time involvement and and general observation > of the official package build attempts for 32 bit architectures > on 64-bit hosts is that has rarely gone well overall. > > > On Sun, Mar 03, 2024 at 01:53:31PM +0100, Oliver Epper wrote: > > > Hi all, > > > > > > I am currently working on an updated port of net/pjsip. I have a > personal > > > use case building for the raspberry-pi, too. All the information that= I > > > found so far seemed outdated. Many are talking about building a > > > cross-compiler. With clang that should not be necessary, right? > > > > > > Can anyone point me to more recent information on how I can build for > armv6 > > > on a x86_64 machine? > > > > > > greetings > > > Oliver > > > > > > P.S.: I know how to build for different architectures. My questions > are all > > > about the "dos and don'ts" and best practices when it comes to the > FreeBSDs > > > ports system. > > =3D=3D=3D > Mark Millard > marklmi at yahoo.com > > --000000000000883982061321f035 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable <div dir=3D"ltr">Hey Mark,<div><br></div><div>Thanks for that information. = I messed up the target architecture. I was trying to build for 64 bit arm,= =C2=A0anyways=C2=A0(just a typo). I've tried poudriere with qemu-user-s= tatic but there are a lot of errors, indeed. Only a few packages build just= fine.</div><div><br></div><div>Since I am fairly new to FreeBSD I was unde= r the impression that it would support aarch64 as a platform. I guess it do= es, but this does not include the ports collection.=C2=A0</div><div><br></d= iv><div>No problem. Since I was targeting the Pi as a device for a few simp= le things I might be able to build what I need without using the ports coll= ection.</div><div><br></div><div>Are there any plans (or a working group) t= rying to improve the situation of the ports collection for other platforms?= Doing real native cross-compiling and slowly working things out that outri= ght fail even under emulation?</div></div><br><div class=3D"gmail_quote"><d= iv dir=3D"ltr" class=3D"gmail_attr">Am Di., 5. M=C3=A4rz 2024 um 18:43=C2= =A0Uhr schrieb Mark Millard <<a href=3D"mailto:marklmi@yahoo.com">marklm= i@yahoo.com</a>>:<br></div><blockquote class=3D"gmail_quote" style=3D"ma= rgin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;border= -left-color:rgb(204,204,204);padding-left:1ex">Mathieu Arnold <<a href= =3D"http://mat_at_freebsd.org" rel=3D"noreferrer" target=3D"_blank">mat_at_= freebsd.org</a>> wrote on<br> Date: Tue, 05 Mar 2024 15:37:08 UTC :<br> <br> > I don't think you need to do much of the things you are saying, cr= oss<br> > building can't really work because most ports will compile somethi= ng and<br> > then try to run it, which won't work because an armv6 binary won&#= 39;t run<br> > on a x86_64 machine.<br> > <br> > What works on the other hand is using poudriere and qemu-user-static.<= br> > <br> > you install both, and if you want to build packages for armv6, you jus= t<br> > create a jail with the arch as "arm.armv6", and then simply = run<br> > poudriere bulk with the arm jail. It will build everything in a jail,<= br> > and you'll get arm packages in the end.<br> <br> Back when FreeBSD ran official port -> package building was<br> targeting armv6 it worked this way. But there were major problems.<br> <br> The last armv6 attempt was on Thu, 05 Oct 2023 02:37:41 GMT. It<br> queued 34637 packages (so a from-scratch build attempt). It built<br> 8276. 242 failed. 25763 were skipped because of the failures. 356<br> were ignored up front. The overall ending status was<br> "stopped:crashed:". This was a 132releng-armv6 quarterly build.<b= r> <br> The prior from-scratch "stopped:done:" build was on<br> Sat, 05 Aug 2023 04:40:30 GMT. Queued 34382. Built 26346. Failed<br> 407. Skipped 6844. Ignored 721. Again a 132releng-armv6 quarterly<br> build. (Unusually successful for fairly modern times.)<br> <br> The most recent from-scratch main-armv6 build (non-quarterly)<br> goes back to Sun, 11 Dec 2022 03:52:32 GMT. It had a<br> large incremental build on Thu, 12 Jan 2023 03:51:11 GMT,<br> which is the last of the "stopped:done" builds for main-armv6.<br= > <br> >From my own on-time involvement and and general observation<br> of the official package build attempts for 32 bit architectures<br> on 64-bit hosts is that has rarely gone well overall.<br> <br> > On Sun, Mar 03, 2024 at 01:53:31PM +0100, Oliver Epper wrote:<br> > > Hi all,<br> > > <br> > > I am currently working on an updated port of net/pjsip. I have a = personal<br> > > use case building for the raspberry-pi, too. All the information = that I<br> > > found so far seemed outdated. Many are talking about building a<b= r> > > cross-compiler. With clang that should not be necessary, right?<b= r> > > <br> > > Can anyone point me to more recent information on how I can build= for armv6<br> > > on a x86_64 machine?<br> > > <br> > > greetings<br> > > Oliver<br> > > <br> > > P.S.: I know how to build for different architectures. My questio= ns are all<br> > > about the "dos and don'ts" and best practices when = it comes to the FreeBSDs<br> > > ports system.<br> <br> =3D=3D=3D<br> Mark Millard<br> marklmi at <a href=3D"http://yahoo.com" rel=3D"noreferrer" target=3D"_blank= ">yahoo.com</a><br> <br> </blockquote></div> --000000000000883982061321f035--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAP8tsuRPRZ3p_TtcefVNymzrfkzW5TtN_u6%2Bij8sBVm4s=k3sg>