• Re: [gentoo-user] gtk+ upgrade fails

    From Philip Webb@21:1/5 to All on Mon Jun 16 10:00:01 2025
    250616 netfab wrote:
    Le 16/06/25 à 08:38, Philip Webb a tapoté :
    can anyone offer advice ?
    The error which causes the build failure :
    Traceback (most recent call last):
    File "/usr/bin/g-ir-scanner", line 99, in <module>
    from giscanner.utils import dll_dirs
    File "/usr/lib64/gobject-introspection/giscanner/utils.py", line 385,
    in <module> import distutils.cygwinccompiler
    ModuleNotFoundError: No module named 'distutils'
    As you can see, that's a python problem.
    The build log also indicates that is uses python3.12 in several places :
    /usr/bin/python3.12
    Your emerge --info :
    dev-lang/python: 3.12.7_p1::gentoo, 3.13.3_p2::gentoo

    Yes, that's wrong.

    Why do you have two versions of python ?

    I didn't know I had.

    Have you finished the python 3.13 migration ?

    I believed I had.

    Why does it use by default python 3.12 instead of 3.13 ?

    I don't know.

    I suspect that if you set python 3.13 as the default python interpreter
    on your system, the gtk build system will find the 'distutils' module
    and the build will succeeds.
    You should check that your system is up-to-date
    and you should fully upgrade to python 3.13.

    I've had a look round
    & can't see how to correct the line above in 'emerge --info'.
    'make.conf' has :

    #USE_PYTHON="3.10 3.11"
    #PYTHON_TARGETS="python3_11"
    #PYTHON_SINGLE_TARGET="python3_11"

    'package.use' has :

    # for Python-3.12 : Portage shd apply these auto'ly
    #*/* PYTHON_TARGETS: -* python3_12
    #*/* PYTHON_SINGLE_TARGET: -* python3_12

    Commenting those 6 lines should have left it to Portage to use 3.13 .
    What am I missing ?

    Thanks for your very prompt reply (smile).

    --
    ========================,,============================================
    SUPPORT ___________//___, Philip Webb
    ELECTRIC /] [] [] [] [] []| Cities Centre, University of Toronto
    TRANSIT `-O----------O---' purslowatcadotinterdotnet

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From netfab@21:1/5 to All on Mon Jun 16 09:20:01 2025
    Hi,

    Le 16/06/25 à 08:38, Philip Webb a tapoté :
    can anyone offer advice ?


    The error which causes the build failure :
    Traceback (most recent call last):
    File "/usr/bin/g-ir-scanner", line 99, in <module>
    from giscanner.utils import dll_dirs
    File "/usr/lib64/gobject-introspection/giscanner/utils.py", line 385,
    in <module> import distutils.cygwinccompiler
    ModuleNotFoundError: No module named 'distutils'

    As you can see, that's a python problem.

    The build log also indicates that is uses python3.12 in several places :
    /usr/bin/python3.12

    Your emerge --info :

    dev-lang/python: 3.12.7_p1::gentoo, 3.13.3_p2::gentoo

    Why do you have two versions of python ?
    Have you finished the python 3.13 migration ?
    Why does it use by default python 3.12 instead of 3.13 ?

    I suspect that if you set python 3.13 as the default python
    interpreter on your system, the gtk build system will find the
    'distutils' module, and the build will succeeds.

    You should check that your system is up-to-date and you should fully
    upgrade to python 3.13.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From netfab@21:1/5 to All on Mon Jun 16 11:20:01 2025
    Le 16/06/25 à 03:49, Philip Webb a tapoté :
    I've had a look round
    & can't see how to correct the line above in 'emerge --info'.
    'make.conf' has :

    #USE_PYTHON="3.10 3.11"
    #PYTHON_TARGETS="python3_11"
    #PYTHON_SINGLE_TARGET="python3_11"

    'package.use' has :

    # for Python-3.12 : Portage shd apply these auto'ly
    #*/* PYTHON_TARGETS: -* python3_12
    #*/* PYTHON_SINGLE_TARGET: -* python3_12

    Commenting those 6 lines should have left it to Portage to use 3.13
    . What am I missing ?

    Thanks for your very prompt reply (smile).


    If the python 3.13 migration is done and your system up-to-date, and
    python 3.12 is not required anymore on your system, then an emerge
    --depclean should remove it automatically and switch the default
    interpreter to python 3.13.
    What is the output of following commands :
    # emerge -pvuDU @world
    # emerge --depclean --pretend

    Another way is to manually switch the default interpreter to 3.13, but
    I would not recommend it, since emerge should do it automatically if
    everything is solved and ok. See /etc/python-exec/python-exec.conf

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Philip Webb@21:1/5 to All on Mon Jun 16 18:20:01 2025
    250616 netfab wrote:
    Le 16/06/25 à 03:49, Philip Webb a tapoté :
    I've had a look round
    & can't see how to correct the line above in 'emerge --info'.
    'make.conf' has :

    #USE_PYTHON="3.10 3.11"
    #PYTHON_TARGETS="python3_11"
    #PYTHON_SINGLE_TARGET="python3_11"

    'package.use' has :

    # for Python-3.12 : Portage shd apply these auto'ly
    #*/* PYTHON_TARGETS: -* python3_12
    #*/* PYTHON_SINGLE_TARGET: -* python3_12

    Commenting those 6 lines should have left it to Portage to use 3.13
    . What am I missing ?

    Thanks for your very prompt reply (smile).
    If the python 3.13 migration is done and your system up-to-date
    and python 3.12 is not required anymore on your system,
    then an emerge --depclean should remove it automatically
    and switch the default interpreter to python 3.13.
    What is the output of following commands ? --
    # emerge -pvuDU @world
    # emerge --depclean --pretend

    The latter listed 8 pkgs which needed to be updated with Python 13 ;
    when I had done that, the emerge of 'gtk+' compiled without a problem.

    Another way is to manually switch the default interpreter to 3.13,
    but I would not recommend it, since emerge should do it automatically
    if everything is solved and ok : see /etc/python-exec/python-exec.conf

    Thanks : I've commented 'python3.11' there & added a line 'python3.13'.

    In 22 yr using Gentoo, I've never done 'emerge world' without '-pv',
    but instead updated one or a short list of pkgs manually.
    Hence my 'world' file doesn't contain all the pkgs I want
    & 'emerge --depclean' wants to remove far more files than is needed.

    Thanks again for your help, which was very accurate (smile).

    --
    ========================,,============================================
    SUPPORT ___________//___, Philip Webb
    ELECTRIC /] [] [] [] [] []| Cities Centre, University of Toronto
    TRANSIT `-O----------O---' purslowatcadotinterdotnet

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)