Re: llvm10 build failure on Rpi3

Mark Millard via freebsd-ports <[email protected]>
Newsgroups gmane.os.freebsd.devel.toolchain,gmane.os.freebsd.devel.ports,gmane.os.freebsd.devel.arm
Message-ID <[email protected]>
Misc notes . . .

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:

# poudriere buld -j main devel/llvm10
# poudriere buld -j main lang/rust
# poudriere buld -j main -f SOMEFILE-LISTING-OTHER-ORIGINS

based on using ALLOW_MAKE_JOBS=yes .

Part of this I based on your on-going llvm10-10.0.1_5
build shows load averages (example):

4.53 4.49 4.40

so all 4 cores are busy with a little backlogged work
already. It is also part of the explanation for:

bad_C++_code	24:30:53 for both building at the same time
vs.
bad_C++_code	06:59:12 for only llvm10 building.

(I'm not making claims for overall elapsed time.)

You wrote in http://www.zefox.org/~bob/readme :

MAX_EXECUTION_TIME_PACKAGE=432000 (since increased to 1724000, builds still stop at 24 hours) 

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.

The time to build (through staging?) is controlled
by something you have left commented out and have
not adjusted:

# 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=86400

My prior notes had listed:

# Cortex-A53 and such are slow for the purpose, allow 4 times the defaults:
MAX_EXECUTION_TIME=432000

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.

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).


===
Mark Millard
marklmi at yahoo.com
( dsl-only.net went
away in early 2018-Mar)
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.