After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 734828 - Request: disable building documentation if Python 2.6 or newer not available
Request: disable building documentation if Python 2.6 or newer not available
Status: RESOLVED FIXED
Product: doxygen
Classification: Other
Component: build
1.8.7
Other All
: Normal normal
: ---
Assigned To: Dimitri van Heesch
Dimitri van Heesch
Depends on:
Blocks:
 
 
Reported: 2014-08-15 03:31 UTC by Misty De Meo
Modified: 2014-08-21 17:15 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description Misty De Meo 2014-08-15 03:31:08 UTC
doxygen requires Python to build the documentation. However, the configure script doesn't try to detect whether a compatible version of Python is present; as a result, `make` may fail with an error from Python if the Python version on the system is too old. I can't find a documented required version, but it appears to be Python 2.6 since it uses the `except Exception as ex` syntax added in that version.

For example, this Tigerbrew package manager user (https://github.com/mistydemeo/tigerbrew/issues/216) encountered a build failure when the OS-provided Python (2.4 or 2.5, I believe) exited with a SyntaxError exception due to not supporting the above exception syntax.

Incidentally, is it possible to disable building the doxygen docs? I couldn't find how.
Comment 1 Dimitri van Heesch 2014-08-15 09:31:39 UTC
Doxygen doesn't build the documentation by default. You need to do 'make docs' in order to build it.

Doxygen does need python 2.6+ for building. It runs several python scripts during the build. 

I've already improved python detection in this commit:
https://github.com/doxygen/doxygen/commit/98a54c576eec4feda606156ae591854311d9cd0e

So can you please check if the issue is sufficiently addressed in the lastest snapshot from GitHub?
Comment 2 Misty De Meo 2014-08-17 17:58:30 UTC
Thanks! I didn't realize that it needed Python for anything other than the documentation - the updated build documentation and version checking looks good.

The update you added to the install documentation specifies that Python 2.7 is required to build, but the configure script checks for Python 2.6. which is the required version?

As well, would it be possible to change the shebang in src/configgen.py to not specify a particular Python interpreter path? For usecases like this one, where a newer Python is installed but not at /usr/bin, it's not very convenient.
Comment 3 Dimitri van Heesch 2014-08-20 10:25:39 UTC
It was tested with python 2.7 (since that is what I have myself), but according to the pyqver tool version 2.6 should also work.

I will mention 2.6 explicitly in the install section.
Comment 4 Dimitri van Heesch 2014-08-21 17:15:07 UTC
This bug was previously marked ASSIGNED, which means it should be fixed in
doxygen version 1.8.8. Please verify if this is indeed the case. Reopen the
bug if you think it is not fixed and please include any additional information 
that you think can be relevant (preferrably in the form of a self-contained example).