Skip site navigation (1)Skip section navigation (2)
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&#39;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 &lt;<a href=3D"mailto:marklmi@yahoo.com">marklm=
i@yahoo.com</a>&gt;:<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 &lt;<a href=
=3D"http://mat_at_freebsd.org" rel=3D"noreferrer" target=3D"_blank">mat_at_=
freebsd.org</a>&gt; wrote on<br>
Date: Tue, 05 Mar 2024 15:37:08 UTC :<br>
<br>
&gt; I don&#39;t think you need to do much of the things you are saying, cr=
oss<br>
&gt; building can&#39;t really work because most ports will compile somethi=
ng and<br>
&gt; then try to run it, which won&#39;t work because an armv6 binary won&#=
39;t run<br>
&gt; on a x86_64 machine.<br>
&gt; <br>
&gt; What works on the other hand is using poudriere and qemu-user-static.<=
br>
&gt; <br>
&gt; you install both, and if you want to build packages for armv6, you jus=
t<br>
&gt; create a jail with the arch as &quot;arm.armv6&quot;, and then simply =
run<br>
&gt; poudriere bulk with the arm jail. It will build everything in a jail,<=
br>
&gt; and you&#39;ll get arm packages in the end.<br>
<br>
Back when FreeBSD ran official port -&gt; 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>
&quot;stopped:crashed:&quot;. This was a 132releng-armv6 quarterly build.<b=
r>
<br>
The prior from-scratch &quot;stopped:done:&quot; 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 &quot;stopped:done&quot; 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>
&gt; On Sun, Mar 03, 2024 at 01:53:31PM +0100, Oliver Epper wrote:<br>
&gt; &gt; Hi all,<br>
&gt; &gt; <br>
&gt; &gt; I am currently working on an updated port of net/pjsip. I have a =
personal<br>
&gt; &gt; use case building for the raspberry-pi, too. All the information =
that I<br>
&gt; &gt; found so far seemed outdated. Many are talking about building a<b=
r>
&gt; &gt; cross-compiler. With clang that should not be necessary, right?<b=
r>
&gt; &gt; <br>
&gt; &gt; Can anyone point me to more recent information on how I can build=
 for armv6<br>
&gt; &gt; on a x86_64 machine?<br>
&gt; &gt; <br>
&gt; &gt; greetings<br>
&gt; &gt; Oliver<br>
&gt; &gt; <br>
&gt; &gt; P.S.: I know how to build for different architectures. My questio=
ns are all<br>
&gt; &gt; about the &quot;dos and don&#39;ts&quot; and best practices when =
it comes to the FreeBSDs<br>
&gt; &gt; 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>