Re: The www/chromium build timed out again: Killing timed out build after 904800 seconds
Date: Mon, 16 Aug 2021 16:45:02 UTC
On 2021-Aug-16, at 07:39, bob prohaska <fbsd at www.zefox.net> wrote: > On Mon, Aug 16, 2021 at 06:46:18AM -0700, Mark Millard wrote: >> [257:10:19][ 85% 41061/47953] c++ -MMD -MF . . . >> [257:10:25]=>> Killing timed out build after 904800 seconds >> [257:10:39][ 85% 41062/47953] c++ -MMD -MF . . . >> . . . >> [260:10:14][ 86% 41290/47953] c++ -MMD -MF . . . >> (still running as of when I looked) >> >> >> May be try more like 1640000? (approx. 1.5*(258*3600)/0.85)) >> (Other timeout figures could also require adjustment.) >> >> >> Note: The 20210805.log size is over 1.1 GiBytes and will take >> hours to download. >> > > The top window I normally watch still reports C++ running as > usual, so I didn't notice. > > I'm inclined to concede that poudriere is unfeasible on a 1 > GB Pi3 for www/chromium. Using make did work with some finesse > around dependency conflicts, as does poudriere on an 8 GB Pi4. > > Once poudriere finally quits and cleans up I'll give make in > www/chromium another try, as a sanity check. I recommend that you first "pkg delete -a" and then install all the prerequesite ports from your poudriere built packages that you have made. As I remember your environement from before this effort started was messed up and could not build. This should clean out and replace the messed up port installs. After that "pkg delete -a", for each direct dependency: pkg install category/portname should also install indirect dependencies automatically. (But the list of direct dependencies is long.) The Makefile lists (use the category/portname contents that is after the ":"s). You have to replace notation like ${PY_FLAVOR} yourself. Here they should be: py27 (which matches up with the USES information about python). BUILD_DEPENDS= bash:shells/bash \ ${PYTHON_PKGNAMEPREFIX}Jinja2>0:devel/py-Jinja2@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}ply>0:devel/py-ply@${PY_FLAVOR} \ gperf:devel/gperf \ ffmpeg>=3.2.2,1:multimedia/ffmpeg \ flock:sysutils/flock \ node:www/node \ xcb-proto>0:x11/xcb-proto \ ${LOCALBASE}/bin/ar:devel/binutils \ ${LOCALBASE}/include/linux/videodev2.h:multimedia/v4l_compat \ ${LOCALBASE}/share/usbids/usb.ids:misc/usbids \ ${PYTHON_PKGNAMEPREFIX}html5lib>0:www/py-html5lib@${PY_FLAVOR} \ ${LOCALBASE}/include/va/va.h:multimedia/libva LIB_DEPENDS= libatk-bridge-2.0.so:accessibility/at-spi2-atk \ libatspi.so:accessibility/at-spi2-core \ libspeechd.so:accessibility/speech-dispatcher \ libsnappy.so:archivers/snappy \ libFLAC.so:audio/flac \ libopus.so:audio/opus \ libspeex.so:audio/speex \ libdbus-1.so:devel/dbus \ libdbus-glib-1.so:devel/dbus-glib \ libicuuc.so:devel/icu \ libjsoncpp.so:devel/jsoncpp \ libpci.so:devel/libpci \ libnspr4.so:devel/nspr \ libre2.so:devel/re2 \ libcairo.so:graphics/cairo \ libdrm.so:graphics/libdrm \ libexif.so:graphics/libexif \ libpng.so:graphics/png \ libwebp.so:graphics/webp \ libavcodec.so:multimedia/ffmpeg \ libopenh264.so:multimedia/openh264 \ libfreetype.so:print/freetype2 \ libharfbuzz.so:print/harfbuzz \ libharfbuzz-icu.so:print/harfbuzz-icu \ libgcrypt.so:security/libgcrypt \ libsecret-1.so:security/libsecret \ libnss3.so:security/nss \ libexpat.so:textproc/expat2 \ libfontconfig.so:x11-fonts/fontconfig \ libxkbcommon.so:x11/libxkbcommon \ libxshmfence.so:x11/libxshmfence RUN_DEPENDS= xdg-open:devel/xdg-utils \ noto-basic>0:x11-fonts/noto-basic There are also ports dependencies implicitly involved in each entry (or most) of: USES= bison compiler:c++17-lang cpe desktop-file-utils dos2unix gl gnome jpeg localbase:ldflags \ ninja perl5 pkgconfig python:2.7,build shebangfix tar:xz xorg but this notation does not show the category and sometimes does not show the portname. For example, you have to infer the llvm dependency that is involved. Some of this may be covered by the dependencies (direct and indirect) from BUILD_DEPENDS, LIB_DEPENDS, and RUN_DEPENDS. > Perhaps something > new has gone wrong.... > I expect that you will discover that the www/chromium build will still run python's in parallel and you will be stuck with using -j1 style builds to avoid running out of swap, unless you again detune the system by having a larger swap partitions total than recommended. (Also true of poudreire use.) Similarly for other issues. Remember that once poudriere has established a clean environment in a builder it runs the same make in that envronment that you would. poudriere does not control what that make does. Poudriere's purpose is to manage having a clean environment present for each builder's make execution. === Mark Millard marklmi at yahoo.com ( dsl-only.net went away in early 2018-Mar)