On 12/03/2021 12.16, Peter West wrote: >> I ran intoa brick wall with gexiv2, which was because the g-ir-* python files >> were specifying python38. I tried building gobject-introspection with 39, but >> fails. I don’t know whether I can classify this as a bug and make a report. >> In >> any case, has anyone else been tinkering with python39 builds on M1? > :info:build g-ir-scanner: GLib: warning: 627 warnings suppressed (use > --warn-all > to see them) > :info:build Traceback (most recent call last): > :info:build File > "/opt/local/var/macports/build/_Users_pbw_Software_ports_gnome_gobject-introspection/gobject-introspection/work/gobject-introspection-1.60.2/./g-ir-scanner", > line 99, in <module> > :info:build sys.exit(scanner_main(sys.argv)) > :info:build File "./giscanner/scannermain.py", line 615, in scanner_main > :info:build write_output(data, options) > :info:build File "./giscanner/scannermain.py", line 469, in write_output > :info:build passthrough_gir(main_f_name, temp_f) > :info:build File "./giscanner/scannermain.py", line 260, in passthrough_gir > :info:build parser.parse(path) > :info:build File "./giscanner/girparser.py", line 60, in parse > :info:build self.parse_tree(tree) > :info:build File "./giscanner/girparser.py", line 69, in parse_tree > :info:build self._parse_api(tree.getroot()) > :info:build File "./giscanner/girparser.py", line 106, in _parse_api > :info:build for node in root.getchildren(): > :info:build AttributeError: 'xml.etree.ElementTree.Element' object has no > attribute 'getchildren'
This specific method had been deprecated for a while and was eventually removed in Python 3.9. It is a known problem at upstream that has already been fixed. The fix would be included in gobject-introspection >= 1.65.0 https://gitlab.gnome.org/GNOME/gobject-introspection/-/issues/325 Your best option would be to also bump the port version to get a version compatible with Python 3.9. Rainer
