Date: Wed, 23 Jun 2021 18:15:39 -0700 From: Mark Millard via freebsd-ports <freebsd-ports@freebsd.org> To: bob prohaska <fbsd@www.zefox.net> Cc: FreeBSD ports <freebsd-ports@freebsd.org>, freebsd-arm <freebsd-arm@freebsd.org>, FreeBSD Toolchain <freebsd-toolchain@freebsd.org> Subject: Re: llvm10 build failure on Rpi3 Message-ID: <F5CF699E-1498-4BE9-AB74-39E006CDDDCD@yahoo.com> In-Reply-To: <43B69E69-AF38-4B50-8018-BCA02A5BBAAA@yahoo.com> References: <20210623050958.GA79888@www.zefox.net> <DD8D8FE1-F02E-4A25-8F2B-5672F10E7268@yahoo.com> <20210623174338.GA84853@www.zefox.net> <6F0CF2F3-A298-4CEA-AA07-B79810F3E8CF@yahoo.com> <20210623222838.GA85566@www.zefox.net> <8E78EE69-44A2-429E-AB65-941537DE25A0@yahoo.com> <43B69E69-AF38-4B50-8018-BCA02A5BBAAA@yahoo.com>
next in thread | previous in thread | raw e-mail | index | archive | help
On 2021-Jun-23, at 17:58, Mark Millard <marklmi at yahoo.com> wrote: > Misc notes . . . >=20 > Looking at your logs, I expect trying to build both > llvm10 and rust in parallel is likely to run into > resource issues on teh RPi3B+. For builds in that > context, it may be better to do something like: >=20 > # poudriere buld -j main devel/llvm10 > # poudriere buld -j main lang/rust > # poudriere buld -j main -f SOMEFILE-LISTING-OTHER-ORIGINS >=20 > based on using ALLOW_MAKE_JOBS=3Dyes . >=20 > Part of this I based on your on-going llvm10-10.0.1_5 > build shows load averages (example): >=20 > 4.53 4.49 4.40 >=20 > so all 4 cores are busy with a little backlogged work > already. It is also part of the explanation for: >=20 > bad_C++_code 24:30:53 for both building at the same time > vs. > bad_C++_code 06:59:12 for only llvm10 building. >=20 > (I'm not making claims for overall elapsed time.) >=20 > You wrote in http://www.zefox.org/~bob/readme : >=20 > MAX_EXECUTION_TIME_PACKAGE=3D432000 (since increased to 1724000, = builds still stop at 24 hours)=20 >=20 > I think you may have guessed wrong about what > MAX_EXECUTION_TIME_PACKAGE covers: it is for > after staging the build, just creating the package > from the staged material. It is not for the > overall time turning the port into a package. >=20 > The time to build (through staging?) is controlled > by something you have left commented out and have > not adjusted: >=20 > # This defines the max time (in seconds) that a command may run for a = build > # before it is killed for taking too long. Default: 86400 > #MAX_EXECUTION_TIME=3D86400 >=20 > My prior notes had listed: >=20 > # Cortex-A53 and such are slow for the purpose, allow 4 times the = defaults: > MAX_EXECUTION_TIME=3D432000 >=20 > But the figures that I'd used never dealt with something like > rust on something like an RPi3B+. So the figure may well be > too small even if rust is never built in parallel with anything > else. (A similar point goes for all my example MAX_EXECUTION_TIME* > figures.) I did do various llvm* builds, but rust is bigger than > any one of those by a long shot. >=20 > Parallel builds of things like llvm10 and rust in significantly > overlapping time frames put the load average well over 4 and > likely cause periods if significant paging/swapping. This can > greatly expand the elapsed-time for the individual jobs (builders). >=20 >=20 Just adding another note. QUOTE /usr/src contains a finished buildworld. /usr/ports contains a recently-updated ports tree.=20 # cd /usr/src # make installworld DESTDIR=3D/usr/local/poudriere/poudriere-system = DB_FROM_SRC=3D1 # make distrib-dirs DESTDIR=3D/usr/local/poudriere/poudriere-system = DB_FROM_SRC=3D1 # make distribution DESTDIR=3D/usr/local/poudriere/poudriere-system = DB_FROM_SRC=3D1 END QUOTE In the above, /usr/local/poudriere/poudriere-system/ ends up containing a finished buildworld, instead of /usr/src/ containing such. ( /usr/src/ was put to use to do the build. ) =3D=3D=3D Mark Millard marklmi at yahoo.com ( dsl-only.net went away in early 2018-Mar)
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?F5CF699E-1498-4BE9-AB74-39E006CDDDCD>