Solved Poudriere cross-build of python38 fails

I'm attempting to build a handful of ports (and their dependencies) for aarch64 on an amd64 host
using poudriere-devel with qemu-aarch64-static. A good chunk of the ports have built without issue
but I can't get past python38 - about an hour in, I get
Code:
...
Traceback (most recent call last):
  File "/wrkdirs/usr/ports/lang/python38/work/stage/usr/local/lib/python3.8/compileall.py", line 332, in <module>
    exit_status = int(not main())
  File "/wrkdirs/usr/ports/lang/python38/work/stage/usr/local/lib/python3.8/compileall.py", line 314, in main
    if not compile_dir(dest, maxlevels, args.ddir,
  File "/wrkdirs/usr/ports/lang/python38/work/stage/usr/local/lib/python3.8/compileall.py", line 93, in compile_dir
    success = min(results, default=True)
  File "/wrkdirs/usr/ports/lang/python38/work/stage/usr/local/lib/python3.8/concurrent/futures/process.py", line 484, in _chain_from_iterable_of_lists
    for element in iterable:
  File "/wrkdirs/usr/ports/lang/python38/work/stage/usr/local/lib/python3.8/concurrent/futures/_base.py", line 619, in result_iterator
    yield fs.pop().result()
  File "/wrkdirs/usr/ports/lang/python38/work/stage/usr/local/lib/python3.8/concurrent/futures/_base.py", line 444, in result
    return self.__get_result()
  File "/wrkdirs/usr/ports/lang/python38/work/stage/usr/local/lib/python3.8/concurrent/futures/_base.py", line 389, in __get_result
    raise self._exception
concurrent.futures.process.BrokenProcessPool: A process in the process pool was terminated abruptly while the future was running or pending.
and the build then sits until the NOHANG timeout fires.

A web search suggests possibilities such as resource exhaustion but I'm not seeing anything in the system logs to support that in this case.
Nothing earlier in the build log seems particularly revealing to me but I can provide the whole thing if desired.

Has anyone else recently had success in doing this?
 
You could try in make.conf
Code:
DEFAULT_VERSIONS+=python=3.8 
DEFAULT_VERSIONS+=python3=3.8
And in blacklist
Code:
lang/python27 
lang/python36 
lang/python37
 
You could try in make.conf
Code:
DEFAULT_VERSIONS+=python=3.8
DEFAULT_VERSIONS+=python3=3.8
And in blacklist
Code:
lang/python27
lang/python36
lang/python37
I was a bit confused by this, as it seemed to suggest forcing the use of the python version
that I was unable to build. But going by what I'm guessing your intent was, I added
Code:
DEFAULT_VERSIONS+=python=3.7
DEFAULT_VERSIONS+=python3=3.7
and it worked. So it appears that lang/python38 and emulators/qemu-aarch64-static don't play nicely together.
Not sure where I would direct a bug report about that.

In any case, thank you!
 
ssw01 the [port]..[/port] bbcodes require the category too. Then they'll get properly linked to their respective Freshports pages.
 
Back
Top