#1149363 mwic: FTBFS against python 3.15 (Dictionary for language 'en' could not be found)

Package:
src:mwic
Source:
src:mwic
Submitter:
Margarita Manterola
Date:
2026-09-29 16:49:02 UTC
Severity:
normal
Tags:
#1149363#5
Date:
2026-09-29 16:47:24 UTC
From:
To:
Hi!

While rebuilding the python related packages against the Python 3.15
version we found that mwic fails to build from source:
https://debusine.debian.net/debian/r-python-python3.15/artifact/4856505/

But this is also failing in the reproducible builds infrastructure, so
it's not a Python 3.15 specific issue:
https://tests.reproducible-builds.org/debian/rb-pkg/unstable/amd64/mwic.html

 From the log, there are several tests failing with this error:

^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

tests/test_blackbox.py:69:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _ _ _
tests/test_blackbox.py:51: in _get_output
     M.main()
lib/cli.py:122: in main
     dictionary = enchant.Dict(options.language)
                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
/usr/lib/python3/dist-packages/enchant/__init__.py:553: in __init__
     super().__init__()
/usr/lib/python3/dist-packages/enchant/__init__.py:149: in __init__
     self._init_this()
/usr/lib/python3/dist-packages/enchant/__init__.py:560: in _init_this
     this = self._broker._request_dict_data(self.tag)
            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
/usr/lib/python3/dist-packages/enchant/__init__.py:296: in
_request_dict_data
     self._raise_error(e_str % (tag,), DictNotFoundError)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _ _ _

self = <enchant.Broker object at 0x7f98efc07b60>
default = "Dictionary for language 'en' could not be found\nPlease check
https://pyenchant.github.io/pyenchant/ for details"
eclass = <class 'enchant.errors.DictNotFoundError'>

     def _raise_error(
         self, default: str = "Unspecified Error", eclass: Type[Error] =
Error
     ) -> NoReturn:
         """Overrides _EnchantObject._raise_error to check broker
errors."""
         err = _e.broker_get_error(self._this)
It seems the BytesWarning is actually raised in enchant, so that might
be a bug for enchant and not for mwic, but even if that was fixed, the
code would still raise an error because it's not finding the dictionary.

When looking at the installation during the build failure,
hunspell-en-gb is installed, but maybe enchant handles it as "en_GB"
instead of "en"?