In the process of preparing a new port for the upcoming QGIS3, I need to use many QT5 and Python3 dependencies. With 'DEFAULT_VERSIONS+= python=3.6 python3=3.6' in ${LOCALBASE}/etc/poudriere.d/make.conf, I am using Poudriere (recent 12.0-CURRENT amd64) for the test runs. Obviously, there is a problem with the build of multimedia/gstreamer1-libav: The relevant part of Poudriere log shows, that the port is not able to detect Python 3.6: [..snip..] =======================<phase: configure >============================ ===> Configuring for gstreamer1-libav-1.12.3_1 [..snip..] checking for python... no checking for python2... no checking for python3... no checking for python3.5... no checking for python3.4... no checking for python3.3... no checking for python3.2... no checking for python3.1... no checking for python3.0... no checking for python2.7... no checking for python2.6... no checking for python2.5... no checking for python2.4... no checking for python2.3... no checking for python2.2... no checking for python2.1... no checking for python2.0... no configure: error: no suitable Python interpreter found ===> Script "configure" failed unexpectedly. A small patch in the ports configure script would help, but leads to the next problem: --- configure.orig 2017-09-18 11:37:20 UTC +++ configure @@ -15510,7 +15510,7 @@ fi # Find any Python interpreter. if test -z "$PYTHON"; then - for ac_prog in python python2 python3 python3.5 python3.4 python3.3 python3.2 python3.1 python3.0 python2.7 python2.6 python2.5 python2.4 python2.3 python2.2 python2.1 python2.0 + for ac_prog in python python2 python3 python3.6 python3.5 python3.4 python3.3 python3.2 python3.1 python3.0 python2.7 python2.6 python2.5 python2.4 python2.3 python2.2 python2.1 python2.0 do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 Poudriere now finds the right Python version, but stops because it does not find automake-1.15: [..snip..] =======================<phase: configure >============================ ===> Configuring for gstreamer1-libav-1.12.3_1 [..snip..] checking for python... no checking for python2... no checking for python3... no checking for python3.6... /usr/local/bin/python3.6 checking for python version... 3.6 checking for python platform... freebsd12 checking for python script directory... ${prefix}/lib/python3.6/site-packages checking for python extension module directory... ${exec_prefix}/lib/python3.6/site-packages [..snip..] =======================<phase: build >============================ ===> Building for gstreamer1-libav-1.12.3_1 gmake[1]: Entering directory '/wrkdirs/usr/ports/multimedia/gstreamer1-libav/work/gst-libav-1.12.3' cd . && /bin/sh /wrkdirs/usr/ports/multimedia/gstreamer1-libav/work/gst-libav-1.12.3/missing automake-1.15 --gnu /wrkdirs/usr/ports/multimedia/gstreamer1-libav/work/gst-libav-1.12.3/missing: automake-1.15: not found WARNING: 'automake-1.15' is missing on your system. You should only need it if you modified 'Makefile.am' or 'configure.ac' or m4 files included by 'configure.ac'. The 'automake' program is part of the GNU Automake package: <http://www.gnu.org/software/automake> It also requires GNU Autoconf, GNU m4 and Perl in order to run: <http://www.gnu.org/software/autoconf> <http://www.gnu.org/software/m4/> <http://www.perl.org/> gmake[1]: *** [Makefile:479: Makefile.in] Error 1 gmake[1]: Leaving directory '/wrkdirs/usr/ports/multimedia/gstreamer1-libav/work/gst-libav-1.12.3' *** Error code 1 I don't know, what is the best way to solve this, sorry.
With USES=python configure is happy and the build completes.
(In reply to Joseph Mingrone from comment #1) Yes, I can confirm, that USES=python works fine. Tested on Poudriere with 12.0-CURRENT amd4.
(In reply to Rainer Hurling from comment #2) The port contains USES=python:build since the introduction of FLAVORs. the build error should have been resolved. Please reopen this pr if we need to investigate further.