Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 30 May 2023 09:39:42 +0100
From:      Nuno Teixeira <eduardo@freebsd.org>
To:        Ronald Klop <ronald-lists@klop.ws>
Cc:        FreeBSD Mailing List <freebsd-ports@freebsd.org>, freebsd-arm@freebsd.org
Subject:   Re: Improving www/chromium build time on arm64
Message-ID:  <CAFDf7UK=UQhJt5wi7zk%2BoP%2BCmob5W6Zt-=jkV0rV-kd%2Bm6zMvQ@mail.gmail.com>
In-Reply-To: <1623315797.5.1684837400228@mailrelay>
References:  <CAFDf7U%2B1p5HSEmXzSKU62ULgAevGK-g93nBqix2hzafEDs4F-Q@mail.gmail.com> <CAFDf7ULoK-P7h8E2PGz1S3-8Dr8EZLD_o7dWku3eZn7FEXV2Cg@mail.gmail.com> <1623315797.5.1684837400228@mailrelay>

next in thread | previous in thread | raw e-mail | index | archive | help
--000000000000b0a90f05fce52503
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

Hello Ronald and all!

Finally I build it after 57 hours @ 2000MHz !!!

Configs, photos and log at:
https://people.freebsd.org/~eduardo/logs/chromium/

I'm running it right now and it runs very smooth!

Next step will be compiling with LTO to check compile time and do some
comparisons on binary size and run performance.

Should I bother with LTO? Will it add performance?

Thanks all!


Ronald Klop <ronald-lists@klop.ws> escreveu no dia ter=C3=A7a, 23/05/2023 =
=C3=A0(s)
11:23:

> =C3=82
>
> *Van:* Nuno Teixeira <eduardo@freebsd.org>
> *Datum:* dinsdag, 23 mei 2023 09:48
> *Aan:* FreeBSD Mailing List <freebsd-ports@freebsd.org>,
> freebsd-arm@freebsd.org
> *Onderwerp:* Re: Improving www/chromium build time on arm64
>
> (...)
> =C3=82
> But I also found that poudriere:
> [88:53:28] Failed ports: www/chromium:build/timeout
> =C3=82
> So I will search how do I increase build time to avoid timeout:
> ---
> # This defines the max time (in seconds) that a command may run for a bui=
ld
> # before it is killed for taking too long. Default: 86400
> #MAX_EXECUTION_TIME=3D86400
> ---
> =C3=82
> I suspect it can be the cause of build failure because build >24h.
> =C3=82
> Nuno Teixeira <eduardo@freebsd.org> escreveu no dia ter=C3=83=C2=A7a, 23/=
05/2023
> =C3=83 (s) 08:31:
>
>> Hello all,
>> =C3=82
>> I'm running 13-STABLE on rpi4 8 and since firefox{-esr} is constantly ta=
b
>> crashing and seg faulting I decided to give chromium a try.
>> chromium pkg isn't available for arm64 and I didn't found error log at
>> https://pkg-status.freebsd.org/ so I decided to build it on poudriere.
>> =C3=82
>> It fails to build around 70% but my biggest concern is build time: 27
>> hours for 70% compilation!
>> =C3=82
>> Just for comparison:
>> llvm15: 12h
>> rust: 9h
>> firefox: 6h
>> =C3=82
>> rip4 v1.5 8GB @ 2000Hz ~62 Celsius
>> zfs
>> poudriere:
>> USE_TMPFS=3Dno
>> PARALLEL_JOBS=3D1
>> ALLOW_MAKE_JOBS=3Dyes
>> =C3=82
>> Any hints on how to speed build? ccache?
>> Does cflags "-O -pipe" not present in compilation is related to build
>> time?
>> =C3=82
>> Full log:
>>
>> https://people.freebsd.org/~eduardo/logs/chromium/chromium-113.0.5672.12=
6.log
>> =C3=82
>> Thanks!
>> =C3=82
>> ---
>> <SNIP>
>> In file included from ../../base/check.h:11:
>> ../../base/compiler_specific.h:8:10: fatal error: 'build/build_config.h'
>> file not found
>> #include "build/build_config.h"
>>          ^~~~~~~~~~~~~~~~~~~~~~
>> 1 error generated.
>> ninja: build stopped: subcommand failed.
>> =3D=3D=3D> Compilation failed unexpectedly.
>> Try to set MAKE_JOBS_UNSAFE=3Dyes and rebuild before reporting the failu=
re
>> to
>> the maintainer.
>> *** Error code 1
>>
>> Stop.
>> make: stopped in /usr/ports/www/chromium
>> build of www/chromium | chromium-113.0.5672.126 ended at Tue May 23
>> 02:22:56 WEST 2023
>> build time: 27:15:37
>> !!! build failure encountered !!!
>> ---
>> --
>> Nuno Teixeira
>> FreeBSD Committer (ports)
>>
>
> =C3=82
> --
> Nuno Teixeira
> FreeBSD Committer (ports)
>
>
>
> Hi,
>
> My poudriere.conf for building ports on rpi4 contains these two changes:
>
> # This defines the max time (in seconds) that a command may run for a bui=
ld
> # before it is killed for taking too long. Default: 86400
> #MAX_EXECUTION_TIME=3D86400
> MAX_EXECUTION_TIME=3D172800
>
> # This defines the time (in seconds) before a command is considered to
> # be in a runaway state for having no output on stdout. Default: 7200
> #NOHANG_TIME=3D7200
> NOHANG_TIME=3D172800
>
>
> I'm maintaining some mongodb ports which also take a long long time to
> build on rpi4.
> But I don't remember which of these settings has the preferred impact on
> your situation.
>
> Oh... now I'm reading your log better. It contains this:
> "=3D>> Killing timed out build after 86400 seconds"
>
> And some time later:
> "=3D>> Cleaning up wrkdir
> =3D=3D=3D> Cleaning for chromium-113.0.5672.126"
>
> So the errors about missing files happen because poudriere is removing
> files while some processes of the build are still running.
>
> I'm curious how far it gets after you increase MAX_EXECUTION_TIME.
>
> Regards,
> Ronald.
> =C3=82
>


--=20
Nuno Teixeira
FreeBSD Committer (ports)

--000000000000b0a90f05fce52503
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr"><div>Hello Ronald and all!</div><div><br></div><div>Finall=
y I build it after 57 hours @ 2000MHz !!!</div><div><br></div><div>Configs,=
 photos and log at: <a href=3D"https://people.freebsd.org/~eduardo/logs/chr=
omium/">https://people.freebsd.org/~eduardo/logs/chromium/</a></div><div><b=
r></div><div>I&#39;m running it right now and it runs very smooth!</div><di=
v><br></div><div>Next step will be compiling with LTO to check compile time=
 and do some comparisons on binary size and run performance.</div><div><br>=
</div><div>Should I bother with LTO? Will it add performance?<br></div><div=
><br></div><div>Thanks all!<br></div><div><br></div></div><br><div class=3D=
"gmail_quote"><div dir=3D"ltr" class=3D"gmail_attr">Ronald Klop &lt;<a href=
=3D"mailto:ronald-lists@klop.ws">ronald-lists@klop.ws</a>&gt; escreveu no d=
ia ter=C3=A7a, 23/05/2023 =C3=A0(s) 11:23:<br></div><blockquote class=3D"gm=
ail_quote" style=3D"margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,=
204,204);padding-left:1ex"><div>=C3=82=C2=A0
<p><strong>Van:</strong> Nuno Teixeira &lt;<a href=3D"mailto:eduardo@freebs=
d.org" target=3D"_blank">eduardo@freebsd.org</a>&gt;<br>
<strong>Datum:</strong> dinsdag, 23 mei 2023 09:48<br>
<strong>Aan:</strong> FreeBSD Mailing List &lt;<a href=3D"mailto:freebsd-po=
rts@freebsd.org" target=3D"_blank">freebsd-ports@freebsd.org</a>&gt;, <a hr=
ef=3D"mailto:freebsd-arm@freebsd.org" target=3D"_blank">freebsd-arm@freebsd=
.org</a><br>
<strong>Onderwerp:</strong> Re: Improving www/chromium build time on arm64<=
/p>

<blockquote style=3D"padding-right:0px;padding-left:5px;margin-left:5px;bor=
der-left:2px solid rgb(0,0,0);margin-right:0px">
<div id=3D"m_-7978113713067757133P">
<div>
<div id=3D"m_-7978113713067757133P.P.P">
<div>(...)
<div>=C3=82=C2=A0</div>

<div>But I also found that poudriere:</div>

<div>[88:53:28] Failed ports: www/chromium:build/timeout</div>

<div>=C3=82=C2=A0</div>

<div>So I will search how do I increase build time to avoid timeout:</div>

<div>---</div>

<div># This defines the max time (in seconds) that a command may run for a =
build<br>
# before it is killed for taking too long. Default: 86400<br>
#MAX_EXECUTION_TIME=3D86400</div>

<div>---</div>

<div>=C3=82=C2=A0</div>

<div>I suspect it can be the cause of build failure because build &gt;24h.<=
/div>
</div>
=C3=82=C2=A0

<div class=3D"gmail_quote">
<div class=3D"gmail_attr">Nuno Teixeira &lt;<a href=3D"mailto:eduardo@freeb=
sd.org" target=3D"_blank">eduardo@freebsd.org</a>&gt; escreveu no dia ter=
=C3=83=C2=A7a, 23/05/2023 =C3=83=C2=A0(s) 08:31:</div>

<blockquote class=3D"gmail_quote" style=3D"margin:0px 0px 0px 0.8ex;border-=
left:1px solid rgb(204,204,204);padding-left:1ex">
<div>Hello all,
<div>=C3=82=C2=A0</div>

<div>I&#39;m running 13-STABLE on rpi4 8 and since firefox{-esr} is constan=
tly tab crashing and seg faulting I decided to give chromium a try.</div>

<div>chromium pkg isn&#39;t available for arm64 and I didn&#39;t found erro=
r log at=C2=A0<a href=3D"https://pkg-status.freebsd.org/" target=3D"_blank"=
>https://pkg-status.freebsd.org/</a>; so I decided to build it on poudriere.=
</div>

<div>=C3=82=C2=A0</div>

<div>It fails to build around 70% but my biggest concern is build time: 27 =
hours for 70% compilation!</div>

<div>=C3=82=C2=A0</div>

<div>Just for comparison:</div>

<div>llvm15: 12h</div>

<div>rust: 9h</div>

<div>firefox: 6h</div>

<div>=C3=82=C2=A0</div>

<div>rip4 v1.5 8GB @ 2000Hz ~62 Celsius</div>

<div>zfs</div>

<div>poudriere:</div>

<div>USE_TMPFS=3Dno</div>

<div>PARALLEL_JOBS=3D1</div>

<div>ALLOW_MAKE_JOBS=3Dyes</div>

<div>=C3=82=C2=A0</div>

<div>Any hints on how to speed build? ccache?</div>

<div>Does cflags &quot;-O -pipe&quot; not present in compilation is related=
 to build time?=C2=A0</div>

<div>=C3=82=C2=A0</div>

<div>Full log:</div>

<div><a href=3D"https://people.freebsd.org/~eduardo/logs/chromium/chromium-=
113.0.5672.126.log" target=3D"_blank">https://people.freebsd.org/~eduardo/l=
ogs/chromium/chromium-113.0.5672.126.log</a></div>

<div>=C3=82=C2=A0</div>

<div>Thanks!</div>

<div>=C3=82=C2=A0</div>

<div>---</div>

<div>&lt;SNIP&gt;</div>

<div>In file included from ../../base/check.h:11:<br>
../../base/compiler_specific.h:8:10: fatal error: &#39;build/build_config.h=
&#39; file not found<br>
#include &quot;build/build_config.h&quot;<br>
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0^~~~~~~~~~~~~~~~~~~~~~<br>
1 error generated.<br>
ninja: build stopped: subcommand failed.<br>
=3D=3D=3D&gt; Compilation failed unexpectedly.<br>
Try to set MAKE_JOBS_UNSAFE=3Dyes and rebuild before reporting the failure =
to<br>
the maintainer.<br>
*** Error code 1<br>
<br>
Stop.<br>
make: stopped in /usr/ports/www/chromium<br>
build of www/chromium | chromium-113.0.5672.126 ended at Tue May 23 02:22:5=
6 WEST 2023<br>
build time: 27:15:37<br>
!!! build failure encountered !!!</div>

<div>
<div>---</div>
<span>-- </span>

<div>
<div><span style=3D"color:rgb(102,102,102)">Nuno Teixeira<br>
FreeBSD Committer (ports)</span></div>
</div>
</div>
</div>
</blockquote>
</div>
=C2=A0

<div>=C3=82=C2=A0</div>
<span class=3D"gmail_signature_prefix">-- </span>

<div class=3D"gmail_signature">
<div><span style=3D"color:rgb(102,102,102)">Nuno Teixeira<br>
FreeBSD Committer (ports)</span></div>
</div>
</div>
</div>
</div>
</blockquote>
<br>
<br>
Hi,<br>
<br>
My poudriere.conf for building ports on rpi4 contains these two changes:<br=
>
<br>
# This defines the max time (in seconds) that a command may run for a build=
<br>
# before it is killed for taking too long. Default: 86400<br>
#MAX_EXECUTION_TIME=3D86400<br>
MAX_EXECUTION_TIME=3D172800<br>
<br>
# This defines the time (in seconds) before a command is considered to<br>
# be in a runaway state for having no output on stdout. Default: 7200<br>
#NOHANG_TIME=3D7200<br>
NOHANG_TIME=3D172800<br>
<br>
<br>
I&#39;m maintaining some mongodb ports which also take a long long time to =
build on rpi4.<br>
But I don&#39;t remember which of these settings has the preferred impact o=
n your situation.<br>
<br>
Oh... now I&#39;m reading your log better. It contains this:<br>
&quot;=3D&gt;&gt; Killing timed out build after 86400 seconds&quot;<br>
<br>
And some time later:<br>
&quot;=3D&gt;&gt; Cleaning up wrkdir<br>
=3D=3D=3D&gt; Cleaning for chromium-113.0.5672.126&quot;<br>
<br>
So the errors about missing files happen because poudriere is removing file=
s while some processes of the build are still running.<br>
<br>
I&#39;m curious how far it gets after you increase MAX_EXECUTION_TIME.<br>
<br>
Regards,<br>
Ronald.<br>
=C3=82=C2=A0</div></blockquote></div><br clear=3D"all"><br><span class=3D"g=
mail_signature_prefix">-- </span><br><div dir=3D"ltr" class=3D"gmail_signat=
ure"><div dir=3D"ltr"><span style=3D"color:rgb(102,102,102)">Nuno Teixeira<=
br>FreeBSD Committer (ports)</span></div></div>

--000000000000b0a90f05fce52503--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAFDf7UK=UQhJt5wi7zk%2BoP%2BCmob5W6Zt-=jkV0rV-kd%2Bm6zMvQ>