Re: poudriere-devel's implicit LC_COLLATE use (a default): does it mix well with python3?
Date: Sat, 02 Oct 2021 09:50:40 UTC
On 2021-Oct-1, at 21:52, Mark Millard <marklmi at yahoo.com> wrote: > I've a case of my poudriere-devel builds of www/chromium in > python code that is executing but the builds on the FreeBSD > servers do not get the error. > > This lead me to look at my log vs. one from the servers > and I found a difference that I think might change python > behavior, not that I've proved that the specifics are > involved in my issue. (The bulk -a with the failure still > has days to go.) > > From what I read locale.strcoll(string1,string2) and > locale.strxfrm(string) are based on LC_COLLATE. From > what I gather, for python3, this LC_COLLATE assignment > may be rather unusual (i.e., not some UTF mode). (I do > not claim to have found all uses of LC_COLLATE, just > a couple of examples.) > > The difference is having the LC_COLLATE assignment, as > shown in the log from my build but not in the one from > the FreeBSD servers that I looked at (that bulk -a also > still running). My log shows: > > POUDRIERE_VERSION=3.3.99.20210907_1 > MASTERMNT=/usr/local/poudriere/data/.m/main-CA72-default/ref > LC_COLLATE=C > POUDRIERE_BUILD_TYPE=bulk > PACKAGE_BUILDING=yes > > LC_COLLATE=C seems to be from: > > . . . > ${BUILDNAME_FORMAT:="%Y-%m-%d_%Hh%Mm%Ss"} > : ${BUILDNAME:=$(date +${BUILDNAME_FORMAT})} > > : ${HTML_TYPE:=inline} > : ${LC_COLLATE:=C} > export LC_COLLATE > > if [ -n "${MAX_MEMORY}" ]; then > MAX_MEMORY_BYTES="$((MAX_MEMORY * 1024 * 1024 * 1024))" > fi > . . . > > in /usr/local/share/poudriere/common.sh from > poudriere-devel (i.e., the main branch). The two > LC_COLLATE lines are not in the release branch > that I looked at. > > Eventually I'll probably test if this is involved in my context's > failure, unless I figure out something else that might make the > difference first. > I used a faster system (ThradRipper 1950X) to test my context for www/chromium builds and removing the two lines: : ${LC_COLLATE:=C} export LC_COLLATE made no difference: python3.8 still stops where it did before, with the same reported errors. I've no evidence that poudriere-devel is what leads to the issue at this point. That still leaves me wondering about the LC_COLLATE usage, but I've no specific failure associated. === Mark Millard marklmi at yahoo.com ( dsl-only.net went away in early 2018-Mar)