Created attachment 222726 [details]
diff -u files/patch-Makefile
changed dynamic-space-size from 4 GiB to 1 GiB for all non-64 versions, poudriere testport ran without problems on both amd64 and i386, s.a. bug #252716
PORTREVISION: not raised, as this port version never was built (on i386), s. Porter's Handbook 4.3.1
Maintainer informed via mail
This seems to be working in gerneral.
But instead of trying to pattern-match on the machine architecture name, wouldn't it be more correct (and perhaps more robust - e.g. when new architecture names are invented) to use getconf to test for pointer size? I think "POSIX_V6_LPBIG_OFFBIG" ("at least 64 bit pointer") would be the thing to test for?
(In reply to Christoph Moench-Tegeder from comment #2)
ah, we only have POSIX_V6_LP64_OFF64, not the "BIG" variant
Created attachment 222777 [details]
proposed patch for patch-Makefile, diff -u ports files/patch-Makefile.diff
Thanks for the comments!
I was thinking about truncating "sysctl -n hw.usermem" somehow (to avoid an overflow) and checking if we are able to allocate 1 or 4 GiB or so to come back to the initial problem "can I haz memory". But this didn't seem to look quite elegant.
Now I'm using "getconf LONG_BIT" to compare against, which should cover hopefully all or most of the ILP32 and LP64 data model cases, see also the sys/*/include/_limits.h.
Poudriere ran on both amd64 and i386 without problems with the desired and expected results.
A commit references this bug:
Date: Wed Feb 24 21:43:00 UTC 2021
New revision: 566509
allow pgloader3 to build on 32bit platforms
guess if we're on a 32bit platform and set a reduced DYNSIZE - else
sbcl may hit it's adress space limits.
Submitted by: maintainer
ok, let's try this. I'm not sure if this is the best approach - after all, we're probably not that interested in the size of a long but in the pointer size, but testing for that might even messier.
Anyways, committed ports r566509