apache / arrow-adbc

Database connectivity API standard and libraries for Apache Arrow
https://arrow.apache.org/adbc/
Apache License 2.0
384 stars 97 forks source link

glib fails to build with `No module named 'distutils.msvccompiler'` #2176

Open paleolimbot opened 1 month ago

paleolimbot commented 1 month ago

What happened?

The glib build seems to be failing on a few PRs with No module named 'distutils.msvccompiler'. From a tiny bit of reading it looks like this was removed in setuptools 74 (or maybe 75, since that was released a few days ago). Do we need to pin a version of that somewhere or use a different version of gobject-introspection?

Stack Trace

Traceback (most recent call last):
  File "/home/runner/miniconda3/envs/test/bin/g-ir-scanner", line 103, in <module>
    from giscanner.scannermain import scanner_main
  File "/home/runner/miniconda3/envs/test/lib/gobject-introspection/giscanner/scannermain.py", line 35, in <module>
    from giscanner.ast import Include, Namespace
  File "/home/runner/miniconda3/envs/test/lib/gobject-introspection/giscanner/ast.py", line 27, in <module>
    from .sourcescanner import CTYPE_TYPEDEF, CSYMBOL_TYPE_TYPEDEF
  File "/home/runner/miniconda3/envs/test/lib/gobject-introspection/giscanner/sourcescanner.py", line 25, in <module>
    from .ccompiler import CCompiler
  File "/home/runner/miniconda3/envs/test/lib/gobject-introspection/giscanner/ccompiler.py", line 29, in <module>
    from distutils.msvccompiler import MSVCCompiler
ModuleNotFoundError: No module named 'distutils.msvccompiler'

https://github.com/apache/arrow-adbc/actions/runs/10951989992/job/30410093912?pr=2157#step:10:73

How can we reproduce the bug?

No response

Environment/Setup

No response

kou commented 1 month ago

It seems that this was fixed in upstream: https://gitlab.gnome.org/GNOME/gobject-introspection/-/merge_requests/490 And 1.82.0 includes this.

https://github.com/conda-forge/gobject-introspection-feedstock/pull/76 will fix this.

kou commented 1 month ago

Or can we use old distutils for now?

lidavidm commented 1 month ago

I'm OK waiting for the update; we could also pip install gobject-introspection for now?

kou commented 1 month ago

gobject-introspection isn't distributed via pip...

lidavidm commented 1 month ago

Ah...

lidavidm commented 1 month ago

Ok well it's probably easy enough to pin old distutils for the time being too