• [gentoo-user] How to diagnose version conflicts?

    From Grant Edwards@21:1/5 to All on Wed Jan 12 01:20:02 2022
    It seems that every time a new Python version is unmasks, it breaks
    something on one or another of my machines.

    This time it's a python-exec version conflict that prevents emerge
    -u. FAICT, Python 3.10 requires python-exec 2.4.8, and some other
    package requires 2.4.6.

    I've fixed things temporarily with:

    package.use:

    */* PYTHON_TARGETS: -python3_10
    */* PYTHON_SINGLE_TARGET -python3_10

    package.mask:

    >=dev-lang/python-3.10

    Now, at least I can continue to update the machine.

    When I get the spare time to try to get Python 3.10 working, what is
    the easiest way to figure out which package is causing the problem by
    requring the older version of python-exec?

    I've tried adding a 't' to the emerge flags, but that doesn't seem to
    show anything useful.

    Is there any documentation on how to determine the cause of a package
    version conflict?

    Here's what emerge says:

    (dev-lang/python-exec-conf-2.4.6:2/2::gentoo, ebuild scheduled for merge) pulled in by
    dev-lang/python-exec-conf required by (dev-lang/python-exec-2.4.8:2/2::gentoo, ebuild scheduled for merge) USE="(native-symlinks) -test" ABI_X86="(64)" PYTHON_TARGETS="(pypy3) (python3_10) (python3_8) (python3_9)"


    python-exec-2.4.8 requires python-exec-conf which requires python-exec 2.4.6?

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Jack@21:1/5 to Grant Edwards on Wed Jan 12 01:40:02 2022
    On 2022.01.11 19:11, Grant Edwards wrote:

    It seems that every time a new Python version is unmasks, it breaks
    something on one or another of my machines.

    This time it's a python-exec version conflict that prevents emerge
    -u. FAICT, Python 3.10 requires python-exec 2.4.8, and some other
    package requires 2.4.6.

    I've fixed things temporarily with:

    package.use:

    */* PYTHON_TARGETS: -python3_10
    */* PYTHON_SINGLE_TARGET -python3_10

    package.mask:

    >=dev-lang/python-3.10

    Now, at least I can continue to update the machine.

    When I get the spare time to try to get Python 3.10 working, what is
    the easiest way to figure out which package is causing the problem by requring the older version of python-exec?

    I've tried adding a 't' to the emerge flags, but that doesn't seem to
    show anything useful.

    Is there any documentation on how to determine the cause of a package
    version conflict?

    Here's what emerge says:

    (dev-lang/python-exec-conf-2.4.6:2/2::gentoo, ebuild scheduled for
    merge) pulled in by
    dev-lang/python-exec-conf required by (dev-lang/python-exec-2.4.8:2/2::gentoo, ebuild scheduled for merge) USE="(native-symlinks) -test" ABI_X86="(64)" PYTHON_TARGETS="(pypy3) (python3_10) (python3_8) (python3_9)"


    python-exec-2.4.8 requires python-exec-conf which requires
    python-exec 2.4.6?
    I was going to wonder if you are caught in the middle of an upgrade
    that's only partly reached the mirrors. Given that (as I see it,
    having last done a sync a few hours ago) that there is ONLY one version
    each in the tree for python-exec-2.4.8 and python-exec-conf-2.4.6. My response would just be wait an hour and re-sync.

    However, looking at the ebuilds:
    python-exe requires python-exec-conf (no version specified) python-exec-conf-2.4.6 requires "!<dev-lang/python-exec-2.4.6-r4" which should allow 2.4.8.

    I have both python 3.9.9-r1 and 3.10.0_p1-r1 installed (plus
    2.7.18_p13) so there doesn't seem to be any conflict there. What does "equery d python-exec" tell you?

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