Date: Tue, 19 Dec 2017 13:31:10 -0800 From: Mark Millard <markmi@dsl-only.net> To: Bryan Drewery <bdrewery@FreeBSD.org>, Freebsd-arm <freebsd-arm@freebsd.org>, FreeBSD Ports <freebsd-ports@freebsd.org> Subject: rpi2 V1.1 vs. hard coded max_execution_time figures in /usr/local/share/poudriere/common.sh (package; also: extract, install, deinstall) Message-ID: <E741935D-C28D-4F7A-A682-21D4A4C5063D@dsl-only.net>
next in thread | raw e-mail | index | archive | help
I tied building devel/llvm50 on a rpi2 V1.1 via poudriere and it got as far as: . . . =======================<phase: package >============================ ===> Building package for llvm50-5.0.0_6 =>> Killing timed out build after 7200 seconds This was for: ---Begin OPTIONS List--- ===> The following configuration options are available for llvm50-5.0.0_6: CLANG=on: Build clang DOCS=on: Build and/or install documentation EXTRAS=on: Extra clang tools LIT=on: Install lit and FileCheck test tools LLD=on: Install lld, the LLVM linker LLDB=on: Install lldb, the LLVM debugger But I had set in /usr/local/etc/poudriere.conf : # 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 MAX_EXECUTION_TIME=432000 # 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=7200 NOHANG_TIME=28800 The magic 7200 is from /usr/local/share/poudriere/common.sh : package) max_execution_time=7200 . . . There is also a lack of control over: extract) max_execution_time=3600 . . . install) max_execution_time=3600 . . . deinstall) max_execution_time=3600 . . . The rpi2 is now busy constructing a bsdtar when it could have had a llvm50 package. (I wonder if the bsdtar takes less time than the package would have taken.) As stands the only way to allow such large builds on the rpi2 is to edit: /usr/local/share/poudriere/common.sh after each poudriere installation/update. The following large things did manage to build packages: lang/gcc7 devel/cmake (indirect from selecting devel/llvm50) (I avoid WITH_DEBUG for devel/llvm50 in all environments: that build is massive, needing between 24 GiBytes and 26 GiBytes for RAM+SWAP on a powerpc64, if I remember right.) Other than the hard coded max_execution_time examples I've no found any fundmental problems with using poudriere when configured as indicated below. (Being willing to give it the time it needed.) For these experiments I've used: NO_ZFS=yes USE_TMPFS=no PARALLEL_JOBS=1 ALLOW_MAKE_JOBS=yes MAX_EXECUTION_TIME=432000 NOHANG_TIME=28800 For what I tried I've not had to use MAKE_JOBS_NUMBER_LIMIT?= or MAKE_JOBS_NUMBER?= . (Say, in /usr/local/etc/poudriere.d/make.conf testing the likes of .if ${.CURDIR:M*/devel/llvm*} code.) The rpi2 has world, kernel, and its dtb file via a USB SSD Stick, not from a usdcard. The usdcard is very minimal as far as its UFS / file system goes: /etc/fstab (redirecting to the USB SSD) /boot/* (with /boot/kernel/ empty and /boot/dtb/ empty) The USB SSD stick has: # df -m Filesystem 1M-blocks Used Avail Capacity Mounted on /dev/da0p1 195378 31305 148443 17% / devfs 0 0 0 100% /dev (/dev/da0p1 has a UFS file system.) # swapinfo Device 1K-blocks Used Avail Capacity /dev/da0p2 1572864 16876 1555988 1% === Mark Millard markmi at dsl-only.net
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?E741935D-C28D-4F7A-A682-21D4A4C5063D>