glib 2.66.0 breaks pygobject/gobject-introspection on Windows
Hi,
I am seeing these errors after updating to GLib 2.66.0 on Windows only (macOS appears to be unaffected):
Python 3.8.5 | packaged by conda-forge | (default, Aug 29 2020, 00:43:28) [MSC v.1916 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> from gi.repository import Gtk
** (.:5308): WARNING **: 09:58:34.626: Failed to load shared library 'gtk-3-vs15.dll' referenced by the typelib: 'gtk-3-vs15.dll': The specified procedure could not be found.
** (.:5308): WARNING **: 09:58:34.626: Failed to load shared library 'atk-1.0-0.dll' referenced by the typelib: 'atk-1.0-0.dll': The specified procedure could not be found.
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "<frozen importlib._bootstrap>", line 991, in _find_and_load
File "<frozen importlib._bootstrap>", line 975, in _find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 655, in _load_unlocked
File "<frozen importlib._bootstrap>", line 618, in _load_backward_compatible
File "C:\Users\TomSc\miniconda3\envs\rfi-file-monitor\lib\site-packages\gi\importer.py", line 146, in load_module
dynamic_module = load_overrides(introspection_module)
File "C:\Users\TomSc\miniconda3\envs\rfi-file-monitor\lib\site-packages\gi\overrides\__init__.py", line 118, in load_overrides
override_mod = importlib.import_module(override_package_name)
File "C:\Users\TomSc\miniconda3\envs\rfi-file-monitor\lib\importlib\__init__.py", line 127, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "C:\Users\TomSc\miniconda3\envs\rfi-file-monitor\lib\site-packages\gi\overrides\Gtk.py", line 136, in <module>
class Widget(Gtk.Widget):
File "C:\Users\TomSc\miniconda3\envs\rfi-file-monitor\lib\site-packages\gi\module.py", line 176, in __getattr__
interfaces = tuple(interface for interface in get_interfaces_for_object(info)
File "C:\Users\TomSc\miniconda3\envs\rfi-file-monitor\lib\site-packages\gi\module.py", line 102, in get_interfaces_for_object
interfaces.append(getattr(module, name))
File "C:\Users\TomSc\miniconda3\envs\rfi-file-monitor\lib\site-packages\gi\module.py", line 215, in __getattr__
wrapper = metaclass(name, bases, dict_)
File "C:\Users\TomSc\miniconda3\envs\rfi-file-monitor\lib\site-packages\gi\types.py", line 250, in __init__
register_interface_info(cls.__info__.get_g_type())
TypeError: must be an interface
Since the dlls exist, something must have changed in how they are discovered. Any thoughts?