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.
@Terry Thank you for your report. Please include a complete build log (with failure) as an attachment
Created attachment 204731 [details]
Port build log showing error message
@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
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
@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