Re: [gentoo-user] update fails, but I don't see why [PROGRESS]

2020-12-30 Thread n952162



On 12/30/20 9:35 AM, Arve Barsnes wrote:

On Wed, 30 Dec 2020 at 08:46, n952162  wrote:

Well, yes, the current version, indeed requires python3_8.  The version
that was installed on my system, however, to be updated, listed
python3_7 in the PYTHON_TARGETS section.  That was the only difference
between the two packages in the collision.  It apparently disqualified
the update with a slot conflict.

I tried walking you through the massive output from portage on one of
these conflicts last week, was it helpful? The point either way, was
that the slot conflict is not setuptools itself, but further down the
dependency chain, where some package is unable to update to python
3.8, and it's dragging its dependencies back with it.

Regards,
Arve



I spent hours studying your analysis, and then I thought it was a simple
transitive-closure problem.  I wrote a script that would take an emerge
log  and turn it into vectors and do a TC on those, but it didn't work. 
For one thing, I got tangled up in the issue of whether the "scheduled
for merge" or the "installed" section was relevant.  Then I noticed that
in most (but not all) cases, the problem centered around a single
package that had multiple, slightly different (mostly in the
PYTHON_TARGETS variable) specs. At first, I thought that there was
always just one such conflict package, all the other having a single new
depender, rather than multiple.  But I think now, that was a red herring.

In your analysis, I didn't see that you made a distinction between
"scheduled for emerge" and "installed" dependers.  When using all
potential dependers, I just wasn't able to following any chain to a
useful conclusion.  Perhaps it's there and just requires more thought.

Anyway, my blanket --depclean kind of put a stop to that direction.




Re: [gentoo-user] update fails, but I don't see why [PROGRESS]

2020-12-30 Thread Michael
On Wednesday, 30 December 2020 07:22:34 GMT n952162 wrote:
> On 12/30/20 1:05 AM, Michael wrote:
> > On Tuesday, 29 December 2020 22:55:03 GMT Neil Bothwick wrote:
> >> On Tue, 29 Dec 2020 23:16:11 +0100, n952162 wrote:
>  So, I tried to do an emerge on @system.  I got another slot conflict!
>  This time for mako, which I'd seen go by sometimes as a "package of
>  interest".  It's only transgression: PYTHON_TARGET containing
>  python3_7.
> >>> 
> >>> Note that both the "scheduled for merge" depender and the "installed"
> >>> depender both required the same version of mako, 1.1.1-r1.  The only
> >>> difference is the fact that one requirements specification has
> >>> python3-7, the other python3-8.  The same pkg, the same binaries.
> >>> Something is wrong here.  Why is it not good enough to specify python3?
> >> 
> >> PYTHON_TARGET determines for which version(s) of Python a package
> >> installs its modules. The modules may be identical, but 3.7 and 3.8 have
> >> different search paths, e.g. /usr/lib/python3.7/site-packages vs.
> >> /usr/lib/python3.8/site-packages.
> >> 
> >> It is possible you have some old python_targets settings in package.use,
> >> that's where I would check first.
> > 
> > As discussed recently, removing any manually configured python targets and
> > letting portage work its magic, rather than fighting against it, is
> > usually a sound way to get out of such a muddle.
> 
> I don't understand what manually configured python targets are. There
> are, in general, no python specifiers on my system in
> /etc/portage/package.use or make.conf.  Do you mean somewhere else?

I mean:

'/etc/portage/package.use' and any files if it is a directory, or under any 
subdirectories therein.

'/etc/portage/make.conf'

Any files referred to in /etc/portage/env/ or /etc/portage/package.env if you 
have configured any package specific emerge parameters there yourself.

Any python related entries in /var/lib/portage/world.

Run 'eselect python list' as well as 'cleanup' & 'update' to make sure there 
are no old version symlinks hanging on.

If there is some deep dependency indicated by the output of emerge still 
asking for an old(er) python version, which portage will not resolve itself, 
then quickpkg it, uninstall it and re-run emerge.

The above ought to get a stable portage able to update itself into a clean 
state.

signature.asc
Description: This is a digitally signed message part.


Re: [gentoo-user] update fails, but I don't see why [PROGRESS]

2020-12-30 Thread Arve Barsnes
On Wed, 30 Dec 2020 at 08:46, n952162  wrote:
> Well, yes, the current version, indeed requires python3_8.  The version
> that was installed on my system, however, to be updated, listed
> python3_7 in the PYTHON_TARGETS section.  That was the only difference
> between the two packages in the collision.  It apparently disqualified
> the update with a slot conflict.

I tried walking you through the massive output from portage on one of
these conflicts last week, was it helpful? The point either way, was
that the slot conflict is not setuptools itself, but further down the
dependency chain, where some package is unable to update to python
3.8, and it's dragging its dependencies back with it.

Regards,
Arve



Re: [gentoo-user] update fails, but I don't see why [PROGRESS]

2020-12-29 Thread n952162

On 12/30/20 1:05 AM, Michael wrote:

On Tuesday, 29 December 2020 22:55:03 GMT Neil Bothwick wrote:

On Tue, 29 Dec 2020 23:16:11 +0100, n952162 wrote:

So, I tried to do an emerge on @system.  I got another slot conflict!
This time for mako, which I'd seen go by sometimes as a "package of
interest".  It's only transgression: PYTHON_TARGET containing
python3_7.

Note that both the "scheduled for merge" depender and the "installed"
depender both required the same version of mako, 1.1.1-r1.  The only
difference is the fact that one requirements specification has
python3-7, the other python3-8.  The same pkg, the same binaries.
Something is wrong here.  Why is it not good enough to specify python3?

PYTHON_TARGET determines for which version(s) of Python a package
installs its modules. The modules may be identical, but 3.7 and 3.8 have
different search paths, e.g. /usr/lib/python3.7/site-packages vs.
/usr/lib/python3.8/site-packages.

It is possible you have some old python_targets settings in package.use,
that's where I would check first.

As discussed recently, removing any manually configured python targets and
letting portage work its magic, rather than fighting against it, is usually a
sound way to get out of such a muddle.

I sync'ed portage a few hours ago today.  Neither mako, nor setuptools require
anything other than python3_8 on this system:

$ eix -l setuptools
[I] dev-python/setuptools
  Available versions:
 46.4.0-r3 ^t   [test PYTHON_TARGETS="pypy3 python2_7
python3_6 python3_7 python3_8 python3_9"]  ["|| ( python_targets_pypy3
python_targets_python2_7 python_targets_python3_6 python_targets_python3_7
python_targets_python3_8 python_targets_python3_9 )"]
 50.3.0^t   [test PYTHON_TARGETS="pypy3 python3_6
python3_7 python3_8 python3_9"]["|| ( python_targets_pypy3
python_targets_python3_6 python_targets_python3_7 python_targets_python3_8
python_targets_python3_9 )"]
~51.0.0^t   [test PYTHON_TARGETS="pypy3 python3_6
python3_7 python3_8 python3_9"]["|| ( python_targets_pypy3
python_targets_python3_6 python_targets_python3_7 python_targets_python3_8
python_targets_python3_9 )"]
~51.1.0^t   [test PYTHON_TARGETS="pypy3 python3_6
python3_7 python3_8 python3_9"]["|| ( python_targets_pypy3
python_targets_python3_6 python_targets_python3_7 python_targets_python3_8
python_targets_python3_9 )"]
  Installed versions:  50.3.0^t(12:47:38 05/12/20)(-test
PYTHON_TARGETS="python3_8 -pypy3 -python3_6 -python3_7 -python3_9")
  Homepage:https://github.com/pypa/setuptools https://pypi.org/
project/setuptools/
  Description: Collection of extensions to Distutils


$ eix -l mako
[I] dev-python/mako
  Available versions:
 1.1.3-r1  ^t   [doc test PYTHON_TARGETS="pypy3 python3_6
python3_7 python3_8 python3_9"]["|| ( python_targets_pypy3
python_targets_python3_6 python_targets_python3_7 python_targets_python3_8
python_targets_python3_9 )"]
  Installed versions:  1.1.3-r1^t(13:09:34 05/12/20)(-doc -test
PYTHON_TARGETS="python3_8 -pypy3 -python3_6 -python3_7 -python3_9")
  Homepage:https://www.makotemplates.org/ https://pypi.org/
project/Mako/
  Description: A Python templating language

...



Well, yes, the current version, indeed requires python3_8.  The version
that was installed on my system, however, to be updated, listed
python3_7 in the PYTHON_TARGETS section.  That was the only difference
between the two packages in the collision.  It apparently disqualified
the update with a slot conflict.





Re: [gentoo-user] update fails, but I don't see why [PROGRESS]

2020-12-29 Thread n952162

On 12/30/20 1:05 AM, Michael wrote:

On Tuesday, 29 December 2020 22:55:03 GMT Neil Bothwick wrote:

On Tue, 29 Dec 2020 23:16:11 +0100, n952162 wrote:

So, I tried to do an emerge on @system.  I got another slot conflict!
This time for mako, which I'd seen go by sometimes as a "package of
interest".  It's only transgression: PYTHON_TARGET containing
python3_7.

Note that both the "scheduled for merge" depender and the "installed"
depender both required the same version of mako, 1.1.1-r1.  The only
difference is the fact that one requirements specification has
python3-7, the other python3-8.  The same pkg, the same binaries.
Something is wrong here.  Why is it not good enough to specify python3?

PYTHON_TARGET determines for which version(s) of Python a package
installs its modules. The modules may be identical, but 3.7 and 3.8 have
different search paths, e.g. /usr/lib/python3.7/site-packages vs.
/usr/lib/python3.8/site-packages.

It is possible you have some old python_targets settings in package.use,
that's where I would check first.

As discussed recently, removing any manually configured python targets and
letting portage work its magic, rather than fighting against it, is usually a
sound way to get out of such a muddle.



I don't understand what manually configured python targets are. There
are, in general, no python specifiers on my system in
/etc/portage/package.use or make.conf.  Do you mean somewhere else?






Re: [gentoo-user] update fails, but I don't see why [PROGRESS]

2020-12-29 Thread n952162

On 12/30/20 1:21 AM, Dale wrote:

Michael wrote:

I expect in a few weeks the tree will settle on python3_9, so all this rinse
and repeat exercise with all the python updates should hopefully go quiet. :-)


It may not be a bad idea for the OP to sync again and see if that
helps.  It's rare but in the past I've caught the tree in a state where
things were not quite right.  Someone is making changes but not all the
needed changes made it at the same time.  Sometimes even a few minutes
can make a difference.  I've re-synced in the past and it can help get
past some roadblocks.  It's not a sure thing but it may be worth a try.

Dale

:-)  :-)




I've synced copiously.  I last synced on 27.12.  After doing the emerge
@system on the stripped out system of 103 packages last night, a new
sync and emerge @system this morning yielded an update of 34 packages.




Re: [gentoo-user] update fails, but I don't see why [PROGRESS]

2020-12-29 Thread Dale
Michael wrote:
>
> I expect in a few weeks the tree will settle on python3_9, so all this rinse 
> and repeat exercise with all the python updates should hopefully go quiet. :-)


It may not be a bad idea for the OP to sync again and see if that
helps.  It's rare but in the past I've caught the tree in a state where
things were not quite right.  Someone is making changes but not all the
needed changes made it at the same time.  Sometimes even a few minutes
can make a difference.  I've re-synced in the past and it can help get
past some roadblocks.  It's not a sure thing but it may be worth a try. 

Dale

:-)  :-) 



Re: [gentoo-user] update fails, but I don't see why [PROGRESS]

2020-12-29 Thread Michael
On Tuesday, 29 December 2020 22:55:03 GMT Neil Bothwick wrote:
> On Tue, 29 Dec 2020 23:16:11 +0100, n952162 wrote:
> > > So, I tried to do an emerge on @system.  I got another slot conflict!
> > > This time for mako, which I'd seen go by sometimes as a "package of
> > > interest".  It's only transgression: PYTHON_TARGET containing
> > > python3_7.
> > 
> > Note that both the "scheduled for merge" depender and the "installed"
> > depender both required the same version of mako, 1.1.1-r1.  The only
> > difference is the fact that one requirements specification has
> > python3-7, the other python3-8.  The same pkg, the same binaries. 
> > Something is wrong here.  Why is it not good enough to specify python3?
> 
> PYTHON_TARGET determines for which version(s) of Python a package
> installs its modules. The modules may be identical, but 3.7 and 3.8 have
> different search paths, e.g. /usr/lib/python3.7/site-packages vs.
> /usr/lib/python3.8/site-packages.
> 
> It is possible you have some old python_targets settings in package.use,
> that's where I would check first.

As discussed recently, removing any manually configured python targets and 
letting portage work its magic, rather than fighting against it, is usually a 
sound way to get out of such a muddle.

I sync'ed portage a few hours ago today.  Neither mako, nor setuptools require 
anything other than python3_8 on this system:

$ eix -l setuptools
[I] dev-python/setuptools
 Available versions:  
46.4.0-r3 ^t[test PYTHON_TARGETS="pypy3 python2_7 
python3_6 python3_7 python3_8 python3_9"]   ["|| ( python_targets_pypy3 
python_targets_python2_7 python_targets_python3_6 python_targets_python3_7 
python_targets_python3_8 python_targets_python3_9 )"]
50.3.0^t[test PYTHON_TARGETS="pypy3 python3_6 
python3_7 python3_8 python3_9"] ["|| ( python_targets_pypy3 
python_targets_python3_6 python_targets_python3_7 python_targets_python3_8 
python_targets_python3_9 )"]
   ~51.0.0^t[test PYTHON_TARGETS="pypy3 python3_6 
python3_7 python3_8 python3_9"] ["|| ( python_targets_pypy3 
python_targets_python3_6 python_targets_python3_7 python_targets_python3_8 
python_targets_python3_9 )"]
   ~51.1.0^t[test PYTHON_TARGETS="pypy3 python3_6 
python3_7 python3_8 python3_9"] ["|| ( python_targets_pypy3 
python_targets_python3_6 python_targets_python3_7 python_targets_python3_8 
python_targets_python3_9 )"]
 Installed versions:  50.3.0^t(12:47:38 05/12/20)(-test 
PYTHON_TARGETS="python3_8 -pypy3 -python3_6 -python3_7 -python3_9")
 Homepage:https://github.com/pypa/setuptools https://pypi.org/
project/setuptools/
 Description: Collection of extensions to Distutils


$ eix -l mako
[I] dev-python/mako
 Available versions:  
1.1.3-r1  ^t[doc test PYTHON_TARGETS="pypy3 python3_6 
python3_7 python3_8 python3_9"] ["|| ( python_targets_pypy3 
python_targets_python3_6 python_targets_python3_7 python_targets_python3_8 
python_targets_python3_9 )"]
 Installed versions:  1.1.3-r1^t(13:09:34 05/12/20)(-doc -test 
PYTHON_TARGETS="python3_8 -pypy3 -python3_6 -python3_7 -python3_9")
 Homepage:https://www.makotemplates.org/ https://pypi.org/
project/Mako/
 Description: A Python templating language

I expect in a few weeks the tree will settle on python3_9, so all this rinse 
and repeat exercise with all the python updates should hopefully go quiet. :-)

signature.asc
Description: This is a digitally signed message part.


Re: [gentoo-user] update fails, but I don't see why [PROGRESS]

2020-12-29 Thread Neil Bothwick
On Tue, 29 Dec 2020 23:16:11 +0100, n952162 wrote:

> > So, I tried to do an emerge on @system.  I got another slot conflict!
> > This time for mako, which I'd seen go by sometimes as a "package of
> > interest".  It's only transgression: PYTHON_TARGET containing
> > python3_7.

> Note that both the "scheduled for merge" depender and the "installed"
> depender both required the same version of mako, 1.1.1-r1.  The only
> difference is the fact that one requirements specification has
> python3-7, the other python3-8.  The same pkg, the same binaries. 
> Something is wrong here.  Why is it not good enough to specify python3?

PYTHON_TARGET determines for which version(s) of Python a package
installs its modules. The modules may be identical, but 3.7 and 3.8 have
different search paths, e.g. /usr/lib/python3.7/site-packages vs.
/usr/lib/python3.8/site-packages.

It is possible you have some old python_targets settings in package.use,
that's where I would check first.


-- 
Neil Bothwick

Growing old is mandatory; growing up is optional!!


pgpxiyNnvqiKr.pgp
Description: OpenPGP digital signature


Re: [gentoo-user] update fails, but I don't see why [PROGRESS]

2020-12-29 Thread Dale
n952162 wrote:
> On 12/29/20 11:07 PM, n952162 wrote:
>>
>>
>> So, I tried to do an emerge on @system.  I got another slot conflict!
>> This time for mako, which I'd seen go by sometimes as a "package of
>> interest".  It's only transgression: PYTHON_TARGET containing python3_7.
>>
>>
>
> Note that both the "scheduled for merge" depender and the "installed"
> depender both required the same version of mako, 1.1.1-r1.  The only
> difference is the fact that one requirements specification has
> python3-7, the other python3-8.  The same pkg, the same binaries. 
> Something is wrong here.  Why is it not good enough to specify python3?
>
>
>
>


All I can say is there is a reason for it.  It seems there is
significant changes between 3.7, 3.8 and 3.9 that causes compatibility
issues, which is why each is slotted I guess.  There is a comment on
this bug that may explain it better.

https://bugs.gentoo.org/762406#c1

It should go to the comment but if it doesn't, it's the first actual
comment by Michał Górny.  There's also a thread on -dev about this but
it is short and likely won't explain much. 

Dale

:-)  :-) 



Re: [gentoo-user] update fails, but I don't see why [PROGRESS]

2020-12-29 Thread n952162

On 12/29/20 11:07 PM, n952162 wrote:



So, I tried to do an emerge on @system.  I got another slot conflict!
This time for mako, which I'd seen go by sometimes as a "package of
interest".  It's only transgression: PYTHON_TARGET containing python3_7.




Note that both the "scheduled for merge" depender and the "installed"
depender both required the same version of mako, 1.1.1-r1.  The only
difference is the fact that one requirements specification has
python3-7, the other python3-8.  The same pkg, the same binaries. 
Something is wrong here.  Why is it not good enough to specify python3?





Re: [gentoo-user] update fails, but I don't see why [PROGRESS]

2020-12-29 Thread n952162

On 12/3/20 9:33 PM, n952162 wrote:

I'm trying to update the gentoo system that I last updated 6 weeks ago,
but it seems not to work.  Can somebody explain to me why?




I tried and tried to figure out how I could determine what the fatal
slot conflict would be.  No matter how I mixed things, setuptools came
up fighting about these things:

  - certifi
  - setuptools
  - jinja
  - markupsafe
  - libxml2

All the requirements were essentially equivalent, the only problem is
that all had PYTHON_TARGETS with PYTHON3_8, while setuptools also had
3_6 and 3_7.  I was not able to learn how to force PYTHON_TARGETS, also
not by modifying the ebuild.

Out of desperation or carelessness, I did a --depclean on the contents
of the world file.  179 packages were removed, including sudo and my
window manager.

106 packages were left.  At least, I could still execute emerge.

So, I tried to do an emerge on @system.  I got another slot conflict! 
This time for mako, which I'd seen go by sometimes as a "package of
interest".  It's only transgression: PYTHON_TARGET containing python3_7.

BUT!  Finally, I could emerge mako.  Along with it are coming 50 other
packages!  I presume that tomorrow, I'll be able to do a full @system
and @world update and then re-install my old world file.