Wednesday, September 27, 2023

Re: games/fifengine broken?

On Wed, Sep 27, 2023 at 10:22:14PM +0200, Theo Buehler wrote:
> On Wed, Sep 27, 2023 at 09:06:03PM +0200, Volker Schlecht wrote:
> > games/unknown-horizons seems broken through games/fifengine ... I'm not a python
> > expert, but it looks like that must have happened quite a while ago already?
>
> > File "/usr/local/lib/python3.10/site-packages/fife/extensions/serializers/simplexml.py", line 386, in _validateTree
> > for c in self._root_element.getchildren():
> >
> > AttributeError: 'xml.etree.ElementTree.Element' object has no attribute 'getchildren'
> > swig/python detected a memory leak of type 'fcn::Color *', no destructor found.
> > .
> >
>
> getchildren() was removed in Python 3.9, so this was broken for nearly
> two years:
>
> getchildren():
>
> Deprecated since version 3.2, will be removed in version 3.9: Use
> list(elem) or iteration.
>
> https://docs.python.org/3.8/library/xml.etree.elementtree.html#xml.etree.ElementTree.Element.getchildren
>
> blindly removing the getchildren() calls fixes this, but it doesn't
> help much as it runs into the next problem:
>
> File "/usr/local/lib/python3.10/site-packages/horizons/util/loaders/jsondecoder.py", line 40, in load
> return json.load(f, encoding="ascii", object_hook=_decode_dict)
> File "/usr/local/lib/python3.10/json/__init__.py", line 293, in load
> return loads(fp.read(),
> File "/usr/local/lib/python3.10/json/__init__.py", line 359, in loads
> return cls(**kw).decode(s)
> TypeError: JSONDecoder.__init__() got an unexpected keyword argument 'encoding'
>
> Might be worth at try to build fifengine from HEAD, which is what some
> distros seem to be packaging without patching:
>
> https://github.com/fifengine/fifengine/
>

https://docs.python.org/3/library/json.html#json.loads

Changed in version 3.9: The keyword argument encoding has been removed.

Oh well.

No comments:

Post a Comment