Bug 238254 - devel/gobject-introspection: g-ir-scanner fails to find python3.x when building print/harfbuzz
Summary: devel/gobject-introspection: g-ir-scanner fails to find python3.x when buildi...
Status: Closed Not A Bug
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: --- Affects Some People
Assignee: Kubilay Kocak
Depends on:
Reported: 2019-05-31 06:06 UTC by Terry Kennedy
Modified: 2019-06-01 13:22 UTC (History)
4 users (show)

See Also:
koobs: maintainer-feedback? (gnome)

Port build log showing error message (100.70 KB, text/plain)
2019-05-31 06:40 UTC, Terry Kennedy
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Terry Kennedy 2019-05-31 06:06:10 UTC
Attempting to update a 12-STABLE (amd64) system to the latest version of ports, but retaining python 2.7 as the default via "DEFAULT_VERSIONS+=python=2.7" in /etc/make.conf fails during the build phase with the error "env: /usr/local/bin/python3.6: No such file or directory".

Looking at the change history for the port, it doesn't seem as though this was a change in the harfbuzz port itself, but a result of the Python default version change having (yet another*) unexpected impact. Due to non-response to other reports about the Python change, I'm reporting this bug against harfbuzz as it should be possible for this port to override whatever is causing the issue.

* I won't repeat my rants about the ill-advised change to 3.6 as the default, other than to point to https://wiki.freebsd.org/Python/Python3Default which shows a large number of ports incompatible with 3.x which were not addressed before the default version was changed.
Comment 1 Kubilay Kocak freebsd_committer freebsd_triage 2019-05-31 06:13:07 UTC
@Terry Thank you for your report. Please include a complete build log (with failure) as an attachment
Comment 2 Terry Kennedy 2019-05-31 06:40:23 UTC
Created attachment 204731 [details]
Port build log showing error message
Comment 3 Kubilay Kocak freebsd_committer freebsd_triage 2019-05-31 12:30:26 UTC
@Terry I can't reproduce in poudriere for either the default case (py36) or py27.

Looking into dependencies, I can see:

1) print/harfbuzz depends on g-ir-scanner via devel/gobject-introspection

2) devel/gobject-introspection has (default) build and run dependency on lang/python36 via USES=python3.4+

Given that, python 3.x is required for harfbuzz via that transitive dependency.

If g-ir-scanner does not *require* Python 3, but in fact supports Python 2 *and* 3, then the version-spec in devel/gobject-introspection is incorrect and can be corrected.

The question remains however, why isn't lang/python36 available and installed at that point in the build process via portupgrade.

We need further information to proceed
Comment 4 Jan Beich freebsd_committer 2019-06-01 13:04:22 UTC
portupgrade/portmaster cannot recover from a pilot error e.g.,

1. Install devel/gobject-introspection
2. Add DEFAULT_VERSIONS+=python=2.7 to make.conf
3. Remove lang/python3.6 under assumption it's no longer used
4. Try to build print/harfbuzz
Comment 5 Kubilay Kocak freebsd_committer freebsd_triage 2019-06-01 13:22:01 UTC
@Terry If the issue is reproducible after the following steps, please re-open the issue with additional detail:

1. Add DEFAULT_VERSIONS+=python=2.7 to make.conf (if not already present)
2. Re-build/install devel/gobject-introspection (with portmaster/portupgrade)
3. Confirm lang/python36 was built/installed (pkg version -v|grep python36)
4. Rebuild print/harfbuzz