Re: Poudriere and Python FLAVORS

From: Paul Mather <paul_at_gromit.dlib.vt.edu>
Date: Fri, 07 Apr 2023 17:34:14 UTC
On Apr 7, 2023, at 10:36 AM, Olivier Certner <olivier.freebsd@free.fr> wrote:

>> with BUILD_ALL_PYTHON_FLAVORS= yes Poudriere builds the py39 flavours of
>> the packages (although the default version is 3.11) if no flavour is
>> specified for a port. So it looks like I have to @py311 all my Python
>> ports if I'm having a DEFAULT_VERSIONS+= python2=2.7 python3=3.11 python=3.11
> 
> Then most probably your 'make.conf' is not taken into account by poudriere.
> 
> That said, some ports explicitly require Python 3.9 or less (e.g., openjdk11 => llvm12 => python39), but according to what you're saying, this is not the problem you're facing right now.


This was the problem I was running into when trying to build ports locally with a default Python flavour of 3.10 when the FreeBSD default was 3.9.  For some ports there would be some Python dependency that explicitly required a <3.10 version of Python.  It's my understanding that when building a Python port of some given flavour, ALL the dependencies must support building that flavour.  In other words, you can't, say, have a mixture of 3.9 and 3.10 dependent packages installed to fulfil a working 3.10 Python port: the port and all its dependencies must be 3.10.

Cheers,

Paul.