Bug#1064726: 0ad: FTBFS: ImportError: cannot import name 'dist' from 'distutils' (/usr/lib/python3.11/distutils/__init__.py)

2024-03-17 Thread David W. Kennedy

Hi,

I found that adding Build-Depends: python3-distutils solves this 
problem.


The natural question is why did build of 0ad work in the past, but not 
now. I found that python3-distutils was being pulled in only as a side 
effect of one of the dependencies, libsdl2-dev. The build failure is 
caused by the fact that the Debian package of glib2.0 stopped depending 
on python3-distutils as of 23 Jan 2024.


Specifically, libsdl2-dev depends on libibus-1.0-dev, which depends on 
libglib2.0-dev, which depends on libglib2.0-dev-bin, which used to 
depend on python3-distutils, but now depends on python3-packaging. This 
change was made to libglib2.0-dev-bin in version 2.78.3-2 on 23 Jan 
2024.


I've committed the Build-Depends change to Debian Salsa.

Thanks.
--
David W. Kennedy



Bug#1064726: 0ad: FTBFS: ImportError: cannot import name 'dist' from 'distutils' (/usr/lib/python3.11/distutils/__init__.py)

2024-02-25 Thread Lucas Nussbaum
Source: 0ad
Version: 0.0.26-4
Severity: serious
Justification: FTBFS
Tags: trixie sid ftbfs
User: lu...@debian.org
Usertags: ftbfs-20240224 ftbfs-trixie

Hi,

During a rebuild of all packages in sid, your package failed to build
on amd64.


Relevant part (hopefully):
> Creating Python 3 environment
> Traceback (most recent call last):
>   File 
> "/<>/libraries/source/spidermonkey/mozjs-78.6.0/third_party/python/virtualenv/virtualenv.py",
>  line 46, in 
> run()
>   File 
> "/<>/libraries/source/spidermonkey/mozjs-78.6.0/third_party/python/virtualenv/virtualenv.py",
>  line 40, in run
> from virtualenv.__main__ import run as run_virtualenv
>   File 
> "/<>/libraries/source/spidermonkey/mozjs-78.6.0/third_party/python/virtualenv/virtualenv/__init__.py",
>  line 3, in 
> from .run import cli_run, session_via_cli
>   File 
> "/<>/libraries/source/spidermonkey/mozjs-78.6.0/third_party/python/virtualenv/virtualenv/run/__init__.py",
>  line 12, in 
> from .plugin.creators import CreatorSelector
>   File 
> "/<>/libraries/source/spidermonkey/mozjs-78.6.0/third_party/python/virtualenv/virtualenv/run/plugin/creators.py",
>  line 6, in 
> from virtualenv.create.via_global_ref.builtin.builtin_way import 
> VirtualenvBuiltin
>   File 
> "/<>/libraries/source/spidermonkey/mozjs-78.6.0/third_party/python/virtualenv/virtualenv/create/via_global_ref/builtin/builtin_way.py",
>  line 7, in 
> from virtualenv.create.creator import Creator
>   File 
> "/<>/libraries/source/spidermonkey/mozjs-78.6.0/third_party/python/virtualenv/virtualenv/create/creator.py",
>  line 15, in 
> from virtualenv.discovery.cached_py_info import LogCmd
>   File 
> "/<>/libraries/source/spidermonkey/mozjs-78.6.0/third_party/python/virtualenv/virtualenv/discovery/cached_py_info.py",
>  line 16, in 
> from virtualenv.discovery.py_info import PythonInfo
>   File 
> "/<>/libraries/source/spidermonkey/mozjs-78.6.0/third_party/python/virtualenv/virtualenv/discovery/py_info.py",
>  line 16, in 
> from distutils import dist
> ImportError: cannot import name 'dist' from 'distutils' 
> (/usr/lib/python3.11/distutils/__init__.py)
> Traceback (most recent call last):
>   File 
> "/<>/libraries/source/spidermonkey/mozjs-78.6.0/build-debug/../js/src/../../configure.py",
>  line 181, in 
> sys.exit(main(sys.argv))
>  ^^
>   File 
> "/<>/libraries/source/spidermonkey/mozjs-78.6.0/build-debug/../js/src/../../configure.py",
>  line 52, in main
> sandbox.run(os.path.join(os.path.dirname(__file__), 'moz.configure'))
>   File 
> "/<>/libraries/source/spidermonkey/mozjs-78.6.0/python/mozbuild/mozbuild/configure/__init__.py",
>  line 445, in run
> self.include_file(path)
>   File 
> "/<>/libraries/source/spidermonkey/mozjs-78.6.0/python/mozbuild/mozbuild/configure/__init__.py",
>  line 436, in include_file
> exec_(code, self)
>   File 
> "/<>/libraries/source/spidermonkey/mozjs-78.6.0/python/mozbuild/mozbuild/util.py",
>  line 53, in exec_
> exec(object, globals, locals)
>   File 
> "/<>/libraries/source/spidermonkey/mozjs-78.6.0/moz.configure", 
> line 7, in 
> include('build/moz.configure/init.configure')
>   File 
> "/<>/libraries/source/spidermonkey/mozjs-78.6.0/python/mozbuild/mozbuild/configure/__init__.py",
>  line 773, in include_impl
> self.include_file(what)
>   File 
> "/<>/libraries/source/spidermonkey/mozjs-78.6.0/python/mozbuild/mozbuild/configure/__init__.py",
>  line 436, in include_file
> exec_(code, self)
>   File 
> "/<>/libraries/source/spidermonkey/mozjs-78.6.0/python/mozbuild/mozbuild/util.py",
>  line 53, in exec_
> exec(object, globals, locals)
>   File 
> "/<>/libraries/source/spidermonkey/mozjs-78.6.0/build/moz.configure/init.configure",
>  line 242, in 
> @depends('PYTHON3', check_build_environment, mozconfig, '--help')
>  
>   File 
> "/<>/libraries/source/spidermonkey/mozjs-78.6.0/python/mozbuild/mozbuild/configure/__init__.py",
>  line 756, in decorator
> depends = DependsFunction(self, func, dependencies, when=when)
>   
>   File 
> "/<>/libraries/source/spidermonkey/mozjs-78.6.0/python/mozbuild/mozbuild/configure/__init__.py",
>  line 129, in __init__
> sandbox._value_for(self)
>   File 
> "/<>/libraries/source/spidermonkey/mozjs-78.6.0/python/mozbuild/mozbuild/configure/__init__.py",
>  line 542, in _value_for
> return self._value_for_depends(obj)
>
>   File 
> "/<>/libraries/source/spidermonkey/mozjs-78.6.0/python/mozbuild/mozbuild/util.py",
>  line 1020, in method_call
> cache[args] = self.func(instance, *args)
>   ^^
>   File 
> "/<>/libraries/source/spidermonkey/mozjs-78.6.0/python/mozbuild/mozbuild/configure/__init__.py",
>  line 551, in _value_for_depends
> value = obj.result()
> 
>