Re: dns/bind916 builds rust unexpectedly
Date: Mon, 25 Sep 2023 21:58:23 UTC
> On Sep 25, 2023, at 14:41, Robert Clausecker <fuz@fuz.su> wrote: > > Am Mon, Sep 25, 2023 at 02:15:19PM -0700 schrieb Edward Sanford Sutton, III: >> Poudriere still causes crashes in my experience depending on hardware, >> poudriere configuration, and what you tell it to build; I have to change >> defaults to use it and then it is fine. With only 32GB of RAM, if I have it >> operate the whole build process in RAM >> (USE_TMPFS=all>/usr/local/etc/poudriere) then I have to limit myself to 2 >> build jobs (PARALLEL_JOBS=2, though I specify it on the poudriere command >> line) or I 'may' have issues. Within that I can have multiple jobs per build >> (ALLOW_MAKE_JOBS=yes>/usr/local/etc/poudriere, >> MAKE_JOBS_NUMBER=4>/usr/local/etc/poudriere.d/make.conf) which gets through >> each compile job much faster so no one job is as likely to be running >> 'alone' holding up other jobs while cores sit idle. > > Ports tend to eat more and more storage for their source and dependencies these > days. I encountered the same issue you had. A simple fix is to switch to > USE_TMPFS="data localbase" which keeps the source code and objects of the package > to be built on disk while placing dependencies into RAM. This does not actually > reduce performance by much as the biggest spike in disk usage is when dependencies > are installed and the distfile is extracted. This setting helps with the former > while not doing much to the latter. During the build, compilers infrequently > write small objects to disk, which gets handled very well by the write cache, so > having the WRKDIR on disk doesn't hurt. The cache also quickly picks up on > frequently needed source files, so there's little penalty in having to read them > from disk every once in a while. I really, really wish the ports tree supported the option of: "I am building package X, but it requires dependency A, B, and C, which I will build as completely standard, so pretty friggin please, just pkg install them." So often have I done the dance of "Make...crap, ^c^c^c, pkg install autoconf...Make, ...dammit... pkg install dialog4ports....make....dammit, crap install bison...." pkg, as far as I know, has no concept of tracking the build-dependencies of a thing, but I would love the option of pkg --install-all-build-deps-for foo. "Just run poudriere" is a really crappy option when you just have a single box on an AWS t2-tiny install. -Dan