Bug 237862 - devel/geany: Fails to build with DOCS enabled (env: python: No such file or directory)
Summary: devel/geany: Fails to build with DOCS enabled (env: python: No such file or d...
Status: Closed FIXED
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: amd64 Any
: --- Affects Some People
Assignee: Guido Falsi
URL:
Keywords: needs-patch, needs-qa
Depends on:
Blocks:
 
Reported: 2019-05-13 01:04 UTC by Christopher
Modified: 2019-05-15 09:46 UTC (History)
0 users

See Also:
madpilot: maintainer-feedback+
madpilot: merge-quarterly+


Attachments
Proposed patch (466 bytes, patch)
2019-05-14 10:21 UTC, Guido Falsi
no flags Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Christopher 2019-05-13 01:04:55 UTC
Cannot build v1.35 with "docs=on".  Complies fine with "docs=off".  All machines failed with the following message:

Making all in doc
gmake[4]: Entering directory '/usr/ports/devel/geany/work-gtk3/geany-1.35/doc'
/usr/bin/sed \
	-e 's,gironly=@internal,gironly=,' \
	-e 's,^\(GENERATE_HTML.*\)YES,\1NO,' \
	-e 's,^\(GENERATE_XML.*\)NO,\1YES,' \
	-e 's,^\(WARN_IF_UNDOCUMENTED.*\)YES,\1NO,' \
	-e 's,^\(SORT_MEMBER_DOCS.*\)YES,\1NO,' \
	-e 's,^\(SORT_BRIEF_DOCS.*\)YES,\1NO,' \
	Doxyfile > Doxyfile-gi || { rm -f Doxyfile-gi && exit 1; }
/usr/local/bin/doxygen Doxyfile && echo "" > Doxyfile.stamp
/usr/local/bin/rst2html -stg --stylesheet=./geany.css ../HACKING hacking.html
/usr/local/bin/doxygen Doxyfile-gi && echo "" > Doxyfile-gi.stamp
../scripts/gen-api-gtkdoc.py xml -d . -o geany-gtkdoc.h \
		--sci-output geany-sciwrappers-gtkdoc.h
env: python: No such file or directory
gmake[4]: *** [Makefile:881: geany-gtkdoc.h] Error 127
gmake[4]: Leaving directory '/usr/ports/devel/geany/work-gtk3/geany-1.35/doc'
gmake[3]: *** [Makefile:593: all-recursive] Error 1
gmake[3]: Leaving directory '/usr/ports/devel/geany/work-gtk3/geany-1.35'
gmake[2]: *** [Makefile:479: all] Error 2
gmake[2]: Leaving directory '/usr/ports/devel/geany/work-gtk3/geany-1.35'
===> Compilation failed unexpectedly.
Try to set MAKE_JOBS_UNSAFE=yes and rebuild before reporting the failure to
the maintainer.
*** Error code 1

Stop.
make[1]: stopped in /usr/ports/devel/geany
*** Error code 1

Stop.
make: stopped in /usr/ports/devel/geany

===>>> make build failed for devel/geany
===>>> Aborting update
Comment 1 Kubilay Kocak freebsd_committer freebsd_triage 2019-05-13 03:38:37 UTC
Ports/Packages must use version-suffixed version of Python interpreter (PYTHON_CMD).

A shebangfix of the invoked script (probably ../scripts/gen-api-gtkdoc.py) is the likely fix here. Other scripts should be checked for non-version-suffixed python usage while we're here.
Comment 2 Guido Falsi freebsd_committer 2019-05-13 07:03:43 UTC
(In reply to Kubilay Kocak from comment #1)
> Ports/Packages must use version-suffixed version of Python interpreter
> (PYTHON_CMD).
> 
> A shebangfix of the invoked script (probably ../scripts/gen-api-gtkdoc.py)
> is the likely fix here. Other scripts should be checked for
> non-version-suffixed python usage while we're here.

While fixing this I noticed that shebangfix actually replaces 

#!/usr/bin/env python

with:

#!/usr/local/bin/python

here, so using the unversioned version.

I'm going with the default anyway for now.
Comment 3 Guido Falsi freebsd_committer 2019-05-13 07:05:26 UTC
(In reply to Christopher from comment #0)
> Cannot build v1.35 with "docs=on".  Complies fine with "docs=off".  All
> machines failed with the following message:
> 

Thanks for the report.

Strange enough this has always been working fine in poudriere and on the build cluster(where the DOCS option defaults to on), so I never noticed it.

I'm going to commit a fix shortly.
Comment 4 commit-hook freebsd_committer 2019-05-13 09:04:56 UTC
A commit references this bug:

Author: madpilot
Date: Mon May 13 09:04:21 UTC 2019
New revision: 501536
URL: https://svnweb.freebsd.org/changeset/ports/501536

Log:
  - Add USES=shebangfix where required in geany and geany-plugin-*
    ports. This fixes build issues reported by users [1]
  - Only bump PORTREVISION for geany-plugin-geanypy since the file
    modified in it by shebangfix is actually installed with the pkg

  PR:		237862 [1]
  Submitted by:	Christopher <inbox@alleghenycomputer.com>
  MFH:		2019Q2

Changes:
  head/devel/geany/Makefile
  head/devel/geany-plugin-geanypy/Makefile
  head/devel/geany-plugin-lua/Makefile
Comment 5 commit-hook freebsd_committer 2019-05-13 09:19:08 UTC
A commit references this bug:

Author: madpilot
Date: Mon May 13 09:18:48 UTC 2019
New revision: 501537
URL: https://svnweb.freebsd.org/changeset/ports/501537

Log:
  MFH: r501536

  - Add USES=shebangfix where required in geany and geany-plugin-*
    ports. This fixes build issues reported by users [1]
  - Only bump PORTREVISION for geany-plugin-geanypy since the file
    modified in it by shebangfix is actually installed with the pkg

  PR:		237862 [1]
  Submitted by:	Christopher <inbox@alleghenycomputer.com>

  Approved by:	ports-secteam (joneum)

Changes:
_U  branches/2019Q2/
  branches/2019Q2/devel/geany/Makefile
  branches/2019Q2/devel/geany-plugin-geanypy/Makefile
  branches/2019Q2/devel/geany-plugin-lua/Makefile
Comment 6 Guido Falsi freebsd_committer 2019-05-13 09:23:52 UTC
Patch committed and merged. Thanks!

I'm closing the bug report as resolved, if the issue persists please send further feedback to or reopen this same bug.
Comment 7 Christopher 2019-05-13 22:41:55 UTC
Thanks for the quick reponse and patch!

However, something is still not working.  I am now receiving the error below (error is different this time).

I did a complete removal of geany before trying to install the new version.

As with last time, I can still install with Docs=off but Docs=On results with the following (accross 4 different workstations):


Making all in doc
gmake[4]: Entering directory '/usr/ports/devel/geany/work-gtk3/geany-1.35/doc'
/usr/bin/sed \
	-e 's,gironly=@internal,gironly=,' \
	-e 's,^\(GENERATE_HTML.*\)YES,\1NO,' \
	-e 's,^\(GENERATE_XML.*\)NO,\1YES,' \
	-e 's,^\(WARN_IF_UNDOCUMENTED.*\)YES,\1NO,' \
	-e 's,^\(SORT_MEMBER_DOCS.*\)YES,\1NO,' \
	-e 's,^\(SORT_BRIEF_DOCS.*\)YES,\1NO,' \
	Doxyfile > Doxyfile-gi || { rm -f Doxyfile-gi && exit 1; }
/usr/local/bin/doxygen Doxyfile && echo "" > Doxyfile.stamp
/usr/local/bin/rst2html -stg --stylesheet=./geany.css ../HACKING hacking.html
/usr/local/bin/doxygen Doxyfile-gi && echo "" > Doxyfile-gi.stamp
../scripts/gen-api-gtkdoc.py xml -d . -o geany-gtkdoc.h \
		--sci-output geany-sciwrappers-gtkdoc.h
gmake[4]: ../scripts/gen-api-gtkdoc.py: Command not found
gmake[4]: *** [Makefile:881: geany-gtkdoc.h] Error 127
gmake[4]: Leaving directory '/usr/ports/devel/geany/work-gtk3/geany-1.35/doc'
gmake[3]: *** [Makefile:593: all-recursive] Error 1
gmake[3]: Leaving directory '/usr/ports/devel/geany/work-gtk3/geany-1.35'
gmake[2]: *** [Makefile:479: all] Error 2
gmake[2]: Leaving directory '/usr/ports/devel/geany/work-gtk3/geany-1.35'
===> Compilation failed unexpectedly.
Try to set MAKE_JOBS_UNSAFE=yes and rebuild before reporting the failure to
the maintainer.
*** Error code 1

Stop.
make[1]: stopped in /usr/ports/devel/geany
*** Error code 1

Stop.
make: stopped in /usr/ports/devel/geany

===>>> make build failed for devel/geany
===>>> Aborting update
Comment 8 Guido Falsi freebsd_committer 2019-05-14 08:13:17 UTC
(In reply to Christopher from comment #7)
> Thanks for the quick reponse and patch!
> 
> However, something is still not working.  I am now receiving the error below
> (error is different this time).
> 
> I did a complete removal of geany before trying to install the new version.
> 
> As with last time, I can still install with Docs=off but Docs=On results
> with the following (accross 4 different workstations):
> 

Strange looks like for some reason you ended up with an incomplete or broken python installation.

Could you report back the output of:

> pkg info '*python*'

and

> pkg which /usr/local/bin/python

so I can try understand what is going on?

This could have been caused by something not going the right way at the time ports switched the default from python2 to python3. If you performed such update at the same time on all four systems following the same procedure that could explain the coincidence.
Comment 9 Christopher 2019-05-14 09:13:16 UTC
$ pkg info '*python*'
py27-dnspython-1.16.0
py27-python-distutils-extra-2.39
python27-2.7.16_1
python36-3.6.8_2

$ pkg which /usr/local/bin/python
/usr/local/bin/python was not found in the database
Comment 10 Christopher 2019-05-14 09:17:02 UTC
oh and yes... I do typically update all 4 stations back to back, in sequence.
Comment 11 Christopher 2019-05-14 09:34:36 UTC
Sorry, for all the replies but I thought of one more thing that might help... these systems were all installed clean with FreeBSD12 (no upgrade from 11, etc.)

They are all currently running FreeBSD 12.0-RELEASE-p3 amd64

So far Python has been brought in as a depencey - meaning I have made no changes to it or it's default settings.  I have run into no trouble with it since FreeBSD 12 came out (well... until now) and I typically update weekly.

I hope some of this info helps rule some things either in or out...
Comment 12 Guido Falsi freebsd_committer 2019-05-14 10:18:40 UTC
(In reply to Christopher from comment #9)
> $ pkg info '*python*'
> py27-dnspython-1.16.0
> py27-python-distutils-extra-2.39
> python27-2.7.16_1
> python36-3.6.8_2
> 
> $ pkg which /usr/local/bin/python
> /usr/local/bin/python was not found in the database

Maybe I start to see what could be the problem.

Let me perform some extra tests.
Comment 13 Guido Falsi freebsd_committer 2019-05-14 10:21:41 UTC
Created attachment 204372 [details]
Proposed patch

I have created a simple patch adding an explicit build dependency on python.

This could be the actual issue I missed on the first try.

Can you test this?
Comment 14 Christopher 2019-05-15 01:51:24 UTC
I tested the patch on one workstation and it worked perfectly!

I deleted geany and geany-plugins, ran the patch and then reinstalled them both with docs-on and no problems or errors were reported.  And, Geany seems to be working just fine.  Actually, I was not having any problems with geany-plugins but I thought I would just make sure everything worked together.

So, it looks like the problem is solved!

Thanks!!!

I'll wait for you to commit and merge the patch before I mess with the other systems.

Thanks again!
Comment 15 commit-hook freebsd_committer 2019-05-15 09:26:44 UTC
A commit references this bug:

Author: madpilot
Date: Wed May 15 09:26:18 UTC 2019
New revision: 501697
URL: https://svnweb.freebsd.org/changeset/ports/501697

Log:
  Add explicit build depend on python, since it's actually used during
  the install phase.

  PR:		237862
  Submitted by:	Christopher <inbox@alleghenycomputer.com>

Changes:
  head/devel/geany/Makefile
Comment 16 commit-hook freebsd_committer 2019-05-15 09:42:58 UTC
A commit references this bug:

Author: madpilot
Date: Wed May 15 09:42:04 UTC 2019
New revision: 501700
URL: https://svnweb.freebsd.org/changeset/ports/501700

Log:
  MFH: r501697

  Add explicit build depend on python, since it's actually used during
  the install phase.

  PR:		237862
  Submitted by:	Christopher <inbox@alleghenycomputer.com>

  Approved by:	ports-secteam (miwi)

Changes:
_U  branches/2019Q2/
  branches/2019Q2/devel/geany/Makefile
Comment 17 Guido Falsi freebsd_committer 2019-05-15 09:46:00 UTC
Further patch committed and merged.

Thanks!