Project

General

Profile

Actions

Bug #5298

closed

sphinx_build.py is incompatible with Python 3.12

Added by Davide Pesavento 6 months ago. Updated about 2 months ago.

Status:
Closed
Priority:
High
Category:
Build
Target version:
Start date:
Due date:
% Done:

100%

Estimated time:

Description

The sphinx_build.py waf tool uses the imp module which has been removed in Python 3.12. This leads to the following build error on macOS:

Traceback (most recent call last):
  File "/Users/runner/work/NFD/NFD/.waf3-2.0.26-bbbe549153f90c006795714355b81761/waflib/Scripting.py", line 119, in waf_entry_point
    run_commands()
  File "/Users/runner/work/NFD/NFD/.waf3-2.0.26-bbbe549153f90c006795714355b81761/waflib/Scripting.py", line 182, in run_commands
    ctx=run_command(cmd_name)
        ^^^^^^^^^^^^^^^^^^^^^
  File "/Users/runner/work/NFD/NFD/.waf3-2.0.26-bbbe549153f90c006795714355b81761/waflib/Scripting.py", line 173, in run_command
    ctx.execute()
  File "/Users/runner/work/NFD/NFD/.waf3-2.0.26-bbbe549153f90c006795714355b81761/waflib/Scripting.py", line 380, in execute
    return execute_method(self)
           ^^^^^^^^^^^^^^^^^^^^
  File "/Users/runner/work/NFD/NFD/.waf3-2.0.26-bbbe549153f90c006795714355b81761/waflib/Build.py", line 93, in execute
    self.execute_build()
  File "/Users/runner/work/NFD/NFD/.waf3-2.0.26-bbbe549153f90c006795714355b81761/waflib/Build.py", line 100, in execute_build
    self.compile()
  File "/Users/runner/work/NFD/NFD/.waf3-2.0.26-bbbe549153f90c006795714355b81761/waflib/Build.py", line 167, in compile
    self.producer.start()
  File "/Users/runner/work/NFD/NFD/.waf3-2.0.26-bbbe549153f90c006795714355b81761/waflib/Runner.py", line 275, in start
    self.refill_task_list()
  File "/Users/runner/work/NFD/NFD/.waf3-2.0.26-bbbe549153f90c006795714355b81761/waflib/Runner.py", line 152, in refill_task_list
    tasks=next(self.biter)
          ^^^^^^^^^^^^^^^^
  File "/Users/runner/work/NFD/NFD/.waf3-2.0.26-bbbe549153f90c006795714355b81761/waflib/Build.py", line 416, in get_build_iterator
    self.post_group()
  File "/Users/runner/work/NFD/NFD/.waf3-2.0.26-bbbe549153f90c006795714355b81761/waflib/Build.py", line 399, in post_group
    tgpost(tg)
  File "/Users/runner/work/NFD/NFD/.waf3-2.0.26-bbbe549153f90c006795714355b81761/waflib/Build.py", line 359, in tgpost
    f()
  File "/Users/runner/work/NFD/NFD/.waf3-2.0.26-bbbe549153f90c006795714355b81761/waflib/TaskGen.py", line 123, in post
    v()
  File "/Users/runner/work/NFD/NFD/.waf-tools/sphinx_build.py", line 59, in apply_sphinx
    import imp
ModuleNotFoundError: No module named 'imp'
Error: Process completed with exit code 2.

(I'm reporting this issue for NFD but it applies to all projects that use sphinx_build.py)

Actions #1

Updated by Davide Pesavento 5 months ago

  • Tags changed from documentation to documentation, waf
Actions #2

Updated by Davide Pesavento 3 months ago

  • Status changed from New to In Progress
  • Assignee set to Davide Pesavento
Actions #3

Updated by Davide Pesavento 2 months ago

  • % Done changed from 0 to 20
Actions #4

Updated by Davide Pesavento about 2 months ago

  • Status changed from In Progress to Code review
  • % Done changed from 20 to 100
Actions #5

Updated by Davide Pesavento about 2 months ago

  • Status changed from Code review to Closed
Actions

Also available in: Atom PDF