Out of memory building lang/ghc-8.8.3

Jose Quinteiro freebsd at quinteiro.org
Tue May 5 18:04:43 UTC 2020


Something like this maybe:
ALLOW_MAKE_JOBS_PACKAGES="pkg llvm* gcc* node* *webengine rust* firefox*
mame mess"

>From this Forums post:
https://forums.freebsd.org/threads/howto-speeding-up-poudriere-build-times.69431/#post-460170

HTH,
Jose

On 2020-05-05 04:09, andrew clarke wrote:
> On 2020-05-05 14:19:50, Gleb Popov (arrowd at freebsd.org) wrote:
> 
>> On Tue, May 5, 2020 at 1:37 PM andrew clarke <mail at ozzmosis.com> wrote:
>>
>>> Beware anyone building lang/ghc-8.8.3 from the ports tree. Building it
>>> here on FreeBSD 12.1-REL AMD64 with Poudriere, the build ran out of swap,
>>> despite the PC having 8 GB RAM, 8 GB swap and not much else running.
>>>
>>> My /usr/local/etc/poudriere.conf:
>>>
>>> BASEFS=/poudriere
>>> ZPOOL=zroot
>>> FREEBSD_HOST=http://mirror.internode.net/
>>> POUDRIERE_DATA=/poudriere/data
>>> RESOLV_CONF=/etc/resolv.conf
>>> DISTFILES_CACHE=/usr/ports/distfiles
>>> USE_TMPFS=yes
>>> ALLOW_MAKE_JOBS=yes
>>> KEEP_OLD_PACKAGES=yes
>>> PARALLEL_JOBS=8
>>>
>>> Maybe I can retune the last three parameters to use less memory. I've not
>>> tried yet.
>>>
>>> This isn't really a whinge, I'm just surprised it failed. I'd have thought
>>> 8 GB was enough.
>>>
>>> (ghc is a build dependency of textproc/hs-pandoc)
>>>
>>
>> Did you have something else building at the same time?
>>
>> On my laptop with 16 Gb of RAM I also see OOM failures when building
>> multiple "heavy" packages (llvmXX, gccX, ghc, rust, libreoffice)
>> simultaneously. In this case I use -J poudriere option to limit number of
>> jobs.
> 
> Nothing else building.
> 
> This is a headless server, so I've no need to build something the size of
> libreoffice or chromium. I've noticed llvm10 takes a long time to build, but
> 8 GB seems plenty of memory for it.
> 
> The -J option sounds like the way to go, provided I remember to use it
> next time. Or I could instead set PARALLEL_JOBS=1 in poudriere.conf but then
> build performance will suffer for every port, which isn't ideal.
> 
> But perhaps there's an option to limit make jobs just for a single port, set in
> /usr/local/etc/poudriere.d/make.conf ? That would be nice.
> _______________________________________________
> freebsd-ports at freebsd.org mailing list
> https://lists.freebsd.org/mailman/listinfo/freebsd-ports
> To unsubscribe, send any mail to "freebsd-ports-unsubscribe at freebsd.org"
> 



More information about the freebsd-ports mailing list