Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!

Bug 947058

Summary: net-libs/libproxy-0.5.9 with old dev-libs/gobject-introspection: ModuleNotFoundError: No module named 'distutils.msvccompiler'
Product: Gentoo Linux Reporter: Yuhan Su <suyh4822>
Component: Current packagesAssignee: Freedesktop bugs <freedesktop-bugs>
Status: UNCONFIRMED ---    
Severity: normal CC: crazycasta, gnome, lagprogramming, python, ramast.com
Priority: Normal    
Version: unspecified   
Hardware: AMD64   
OS: Linux   
See Also: https://bugs.gentoo.org/show_bug.cgi?id=947052
Whiteboard:
Package list:
Runtime testing required: ---

Description Yuhan Su 2024-12-28 03:45:05 UTC
setuptools have dropped msvccompiler module which was deprecated 2 years ago, yet many packages are still depending on it to build, gentoo overlay should keep legacy versions of setuptools

Reproducible: Always

Steps to Reproduce:
1.Have dev-python/setuptools-75.6.0-r1 emerged on machine
2.emerge net-libs/libproxy

Actual Results:  
package build failed

Expected Results:  
package emerges successfully

FAILED: src/libproxy/Libproxy-1.0.gir 
env PKG_CONFIG_PATH=/usr/share/pkgconfig:/var/tmp/portage/net-libs/libproxy-0.5.9/work/libproxy-0.5.9-abi_x86_64.amd64/meson-uninstalled PKG_CONFIG_LIBDIR=/usr/lib64/pkgconfig PKG_CONFIG=/usr/bin/x86_64-pc-linux-gnu-pkg-config CC=x86_64-pc-linux-gnu-gcc /usr/bin/g-ir-scanner --quiet --no-libtool --namespace=Libproxy --nsversion=1.0 --warn-all --output src/libproxy/Libproxy-1.0.gir --c-include=proxy.h --quiet -I/var/tmp/portage/net-libs/libproxy-0.5.9/work/libproxy-0.5.9/src/libproxy -I/var/tmp/portage/net-libs/libproxy-0.5.9/work/libproxy-0.5.9-abi_x86_64.amd64/src/libproxy -I/var/tmp/portage/net-libs/libproxy-0.5.9/work/libproxy-0.5.9/src/backend/. -I/var/tmp/portage/net-libs/libproxy-0.5.9/work/libproxy-0.5.9-abi_x86_64.amd64/src/backend/. --filelist=/var/tmp/portage/net-libs/libproxy-0.5.9/work/libproxy-0.5.9-abi_x86_64.amd64/src/libproxy/libproxy.so.0.5.9.p/Libproxy_1.0_gir_filelist -L/var/tmp/portage/net-libs/libproxy-0.5.9/work/libproxy-0.5.9-abi_x86_64.amd64/src/libproxy -L/var/tmp/portage/net-libs/libproxy-0.5.9/work/libproxy-0.5.9-abi_x86_64.amd64/src/backend -lproxy --include=Gio-2.0 --symbol-prefix=px --identifier-prefix=px --pkg-export=libproxy-1.0 --cflags-begin -I/var/tmp/portage/net-libs/libproxy-0.5.9/work/libproxy-0.5.9-abi_x86_64.amd64 -I/var/tmp/portage/net-libs/libproxy-0.5.9/work/libproxy-0.5.9/src/backend/. -I/var/tmp/portage/net-libs/libproxy-0.5.9/work/libproxy-0.5.9-abi_x86_64.amd64/src/backend/. -I/usr/lib64/libffi/include -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/gobject-introspection-1.0 --cflags-end --add-include-path=/usr/share/gir-1.0 -L/var/tmp/portage/net-libs/libproxy-0.5.9/work/libproxy-0.5.9-abi_x86_64.amd64/src/libproxy --library proxy -L/var/tmp/portage/net-libs/libproxy-0.5.9/work/libproxy-0.5.9-abi_x86_64.amd64/src/backend -lcurl -lgio-2.0 -lgobject-2.0 -lglib-2.0 -lgirepository-1.0
Traceback (most recent call last):
  File "/usr/bin/g-ir-scanner", line 103, in <module>
    from giscanner.scannermain import scanner_main
  File "/usr/lib64/gobject-introspection/giscanner/scannermain.py", line 35, in <module>
    from giscanner.ast import Include, Namespace
  File "/usr/lib64/gobject-introspection/giscanner/ast.py", line 29, in <module>
    from .sourcescanner import CTYPE_TYPEDEF, CSYMBOL_TYPE_TYPEDEF
  File "/usr/lib64/gobject-introspection/giscanner/sourcescanner.py", line 25, in <module>
    from .ccompiler import CCompiler
  File "/usr/lib64/gobject-introspection/giscanner/ccompiler.py", line 29, in <module>
    from distutils.msvccompiler import MSVCCompiler
ModuleNotFoundError: No module named 'distutils.msvccompiler'
Comment 1 Sam James archtester Gentoo Infrastructure gentoo-dev Security 2024-12-28 04:01:01 UTC
(In reply to Yuhan Su from comment #0)
> setuptools have dropped msvccompiler module which was deprecated 2 years
> ago, yet many packages are still depending on it to build, gentoo overlay
> should keep legacy versions of setuptools
> 

Yes, and no. gobject-introspection works with newer setuptools. The problem is, your update had things *using* old gobject-introspection before it's queued to update. I suspect this is what happened in bug 947052 too.

It's not clear what the best way to fix this is. Maybe (bleh) change all gobject-introspection deps to be >= recent version "unnecessarily".
Comment 2 ramast 2025-01-12 17:45:05 UTC
Had same problem.
Masking the affected packages and/or doing emerge --resume --skipfirst until  gobject-introspection package is compiled solved the problem. I could then unmask previously masked packages and rerun emerge -uDa --newuse
Comment 3 Alex Orange 2025-02-16 14:49:20 UTC
For anyone else running into this issue like me, an easy way to move past this (I don't like --skip-first so much) is to just:

emerge -1av gobject-introspection

For me, that updated python, glib and gobject-introspection and then libproxy happily updated.
Comment 4 Mike Gilbert gentoo-dev 2025-02-17 21:42:33 UTC
*** Bug 949554 has been marked as a duplicate of this bug. ***