Bug 223443 - multimedia/gstreamer1-libav: Does not build for Python 3.x
Summary: multimedia/gstreamer1-libav: Does not build for Python 3.x
Status: Closed Overcome By Events
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: --- Affects Only Me
Assignee: freebsd-multimedia (Nobody)
URL:
Keywords: needs-qa
Depends on:
Blocks:
 
Reported: 2017-11-05 10:00 UTC by Rainer Hurling
Modified: 2017-12-25 08:44 UTC (History)
3 users (show)

See Also:
riggs: maintainer-feedback+


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Rainer Hurling freebsd_committer freebsd_triage 2017-11-05 10:00:08 UTC
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.
Comment 1 Joseph Mingrone freebsd_committer freebsd_triage 2017-11-08 17:40:31 UTC
With USES=python configure is happy and the build completes.
Comment 2 Rainer Hurling freebsd_committer freebsd_triage 2017-11-09 19:30:14 UTC
(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.
Comment 3 Thomas Zander freebsd_committer freebsd_triage 2017-12-25 08:44:49 UTC
(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.