View previous topic :: View next topic |
Author |
Message |
jagdpanther l33t
Joined: 22 Nov 2003 Posts: 743
|
Posted: Mon May 04, 2020 9:27 pm Post subject: python_targets dependency conflict for pygments |
|
|
Starting yesterday after an "emerge --sync" and another "emerge --sync" today, portage is returning a "skipped due to a dependency conflict" for pygments:
Code: | emerge --update --deep --newuse --with-bdeps=y @world -p
These are the packages that would be merged, in order:
Calculating dependencies... done!
WARNING: One or more updates/rebuilds have been skipped due to a dependency conflict:
dev-python/pygments:0
(dev-python/pygments-2.6.1:0/0::gentoo, ebuild scheduled for merge) USE="-doc -test" ABI_X86="(64)" PYTHON_TARGETS="python3_6 (-pypy3) -python3_7 (-python3_8)" conflicts with
dev-python/pygments[python_targets_python2_7(-),python_targets_python3_6(-),-python_single_target_pypy3(-),-python_single_target_python2_7(-),-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-)] required by (dev-python/docutils-0.16:0/0::gentoo, installed) USE="" ABI_X86="(64)" PYTHON_TARGETS="python2_7 python3_6 (-pypy3) -python3_7 (-python3_8)" |
It appears that portage wants to upgrade dev-python/pygments-2.5.2 to dev-python/pygments-2.6.1 and that for pygments-2.6.1 the PYTHON_TARGET pythyon2_7 was removed but at least one dependency (doctuils) wants the 2_7. I attempted to add the following line to /etc/portage/package.use/gentoo:
=dev-python/pygments-2.6.1 PYTHON_TARGETS: python2_7 python3_6
Thant did not appear to make a difference. After removing that test line I recursively grepped for PYTHON_TARGET in /etc/portage and found nothing.
I am using profile default/linux/amd64/17.1
Any ideas on fixing this? |
|
Back to top |
|
|
UlFie Tux's lil' helper
Joined: 01 Nov 2011 Posts: 112 Location: Wuppertal
|
Posted: Mon May 04, 2020 9:53 pm Post subject: |
|
|
How about trying this the other way round, i.e. -python2_7 on the PYTHON_TARGETS for docutils? |
|
Back to top |
|
|
Anon-E-moose Watchman
Joined: 23 May 2008 Posts: 6103 Location: Dallas area
|
Posted: Mon May 04, 2020 9:59 pm Post subject: |
|
|
Take off the 2.7 for docutils.
They both emerged for me this morning without any problems. (I had already blocked py2.7 stuff though) _________________ PRIME x570-pro, 3700x, 6.1 zen kernel
gcc 13, profile 17.0 (custom bare multilib), openrc, wayland |
|
Back to top |
|
|
jagdpanther l33t
Joined: 22 Nov 2003 Posts: 743
|
Posted: Mon May 04, 2020 10:22 pm Post subject: |
|
|
I added the following line to /etc/portage/package.use/gentoo:
dev-python/docutils PYTHON_TARGETS: -python2_7
Now I have two dependency conflicts. docutils with just python3_6 has an issue as dev-python/m2r
Code: | WARNING: One or more updates/rebuilds have been skipped due to a dependency conflict:
dev-python/docutils:0
(dev-python/docutils-0.16:0/0::gentoo, ebuild scheduled for merge) USE="" ABI_X86="(64)" PYTHON_TARGETS="python3_6 (-pypy3) -python2_7 -python3_7 (-python3_8)" conflicts with
dev-python/docutils[python_targets_python2_7(-),python_targets_python3_6(-),-python_single_target_pypy3(-),-python_single_target_python2_7(-),-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-)] required by (dev-python/m2r-0.2.1:0/0::gentoo, installed) USE="-test" ABI_X86="(64)" PYTHON_TARGETS="python2_7 python3_6 (-pypy3) -python3_7 (-python3_8)"
dev-python/pygments:0
(dev-python/pygments-2.6.1:0/0::gentoo, ebuild scheduled for merge) USE="-doc -test" ABI_X86="(64)" PYTHON_TARGETS="python3_6 (-pypy3) -python3_7 (-python3_8)" conflicts with
dev-python/pygments[python_targets_python2_7(-),python_targets_python3_6(-),-python_single_target_pypy3(-),-python_single_target_python2_7(-),-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-)] required by (dev-python/docutils-0.16:0/0::gentoo, installed) USE="" ABI_X86="(64)" PYTHON_TARGETS="python2_7 python3_6 (-pypy3) -python3_7 (-python3_8)" |
I was going to try to remove docutils, but 'equery depends docutils' shows that would not be smart. |
|
Back to top |
|
|
jagdpanther l33t
Joined: 22 Nov 2003 Posts: 743
|
Posted: Mon May 04, 2020 10:38 pm Post subject: |
|
|
Another strange development:
On my 2nd Gentoo system I just ran
Code: | emerge --sync && eix-update && emerge --update --deep --newuse --with-bdeps=y @world -p |
pygments was NOT listed for update (three other packages were listed.) However if I run eix -I pygments I receive:
Code: | eix -I pygments
[U] dev-python/pygments
Available versions: 2.5.2^t 2.6.1^t {doc test PYTHON_TARGETS="pypy3 python2_7 python3_6 python3_7 python3_8"}
Installed versions: 2.5.2^t(07:40:36 AM 02/24/2020)(-doc -test PYTHON_TARGETS="python2_7 python3_6 -pypy3 -python3_7 -python3_8")
Homepage: https://pygments.org/ https://pypi.org/project/Pygments/
Description: Pygments is a syntax highlighting package written in Python |
So on the first box, there is a dependency conflict on this 2nd box eix shows there is an upgrade available by portage does not even try.
Strange. (The second box also has no (non-commented) PYTHON_TARGETS lines anywhere in /etc/portage.) |
|
Back to top |
|
|
Anon-E-moose Watchman
Joined: 23 May 2008 Posts: 6103 Location: Dallas area
|
Posted: Mon May 04, 2020 11:00 pm Post subject: |
|
|
jagdpanther wrote: | I added the following line to /etc/portage/package.use/gentoo:
dev-python/docutils PYTHON_TARGETS: -python2_7
Now I have two dependency conflicts. docutils with just python3_6 has an issue as dev-python/m2r
|
All I can tell you is that all the dependency libraries need to be consistent, either all py2.7 or none.
Personally, I got rid of py2.7 with the exception of an old version of samba (well, supporting sys-libs anyway)
This is what I did.
Add this "python_targets_python2_7" to /etc/portage/profile/use.mask
any exceptions add to /etc/portage/profile/package.use.mask
Like this "dev-lang/python-exec -python_targets_python2_7"
I kept adding packages to package.use.mask, until I got a clear emerge world, then I rebuilt whatever needed it. _________________ PRIME x570-pro, 3700x, 6.1 zen kernel
gcc 13, profile 17.0 (custom bare multilib), openrc, wayland |
|
Back to top |
|
|
jagdpanther l33t
Joined: 22 Nov 2003 Posts: 743
|
Posted: Tue May 05, 2020 2:39 am Post subject: |
|
|
Anon-E-moose:
Thanks for the advice. I guess I'll need to do this and will try tomorrow.
One question:
What is the difference between your suggested modifications to
/etc/portage/profile/use.mask and /etc/portage/profile/package.use.mask
VS the suggestion to change things in /etc/portage/package.use (not profile) mentioned in
the eselect news item titled "Python 2.7 went EOL" ? |
|
Back to top |
|
|
hagar-dunor n00b
Joined: 26 Apr 2012 Posts: 39
|
Posted: Tue May 05, 2020 7:43 am Post subject: |
|
|
Joining the "me too" bandwagon, got this conflict on all my installs.
It happens on all related things being "stable" from what I can tell, so it's not up to the user to tweak around? |
|
Back to top |
|
|
Anon-E-moose Watchman
Joined: 23 May 2008 Posts: 6103 Location: Dallas area
|
Posted: Tue May 05, 2020 2:03 pm Post subject: |
|
|
jagdpanther wrote: | One question:
What is the difference between your suggested modifications to
/etc/portage/profile/use.mask and /etc/portage/profile/package.use.mask
VS the suggestion to change things in /etc/portage/package.use (not profile) mentioned in
the eselect news item titled "Python 2.7 went EOL" ? |
I'm not sure there is a difference, at least end result wise.
I was actually using (the *use.mask) before the suggestion about package.use, probably because I became aware of them when overriding portage masks that typical use flags wouldn't override.
Edit to add: Asturm probably knows the difference and might let us know, if he reads this thread. _________________ PRIME x570-pro, 3700x, 6.1 zen kernel
gcc 13, profile 17.0 (custom bare multilib), openrc, wayland |
|
Back to top |
|
|
Anon-E-moose Watchman
Joined: 23 May 2008 Posts: 6103 Location: Dallas area
|
Posted: Tue May 05, 2020 2:06 pm Post subject: |
|
|
The reason these problem are cropping up (MO) is that they're transitioning away from 2.7 and some stable things haven't been properly updated. _________________ PRIME x570-pro, 3700x, 6.1 zen kernel
gcc 13, profile 17.0 (custom bare multilib), openrc, wayland |
|
Back to top |
|
|
hagar-dunor n00b
Joined: 26 Apr 2012 Posts: 39
|
Posted: Tue May 05, 2020 3:22 pm Post subject: |
|
|
From what I see in the pygments 2.5.2 ebuild:
PYTHON_COMPAT=( python2_7 python3_{6,7,8} pypy3 )
and in pygments 2.6.1 ebuild
PYTHON_COMPAT=( python3_{6,7,8} pypy3 )
Compatibility with python 2.7 has been dropped. However docutils, which depends on pygments has
PYTHON_COMPAT=( python{2_7,3_{6,7,8}} pypy3 )
So logic tends to say that pygments 2.6.1 dropped python 2.7 compat by mistake unless I don't understand EAPI which is more than likely. |
|
Back to top |
|
|
jagdpanther l33t
Joined: 22 Nov 2003 Posts: 743
|
Posted: Tue May 05, 2020 8:05 pm Post subject: |
|
|
Anon-E-moose:
Your note about not using python2_7 seems much easier than I thought it would be to implement. Thank you. (Portage is about to re-emerge about 100 packages and add a few.)
Here is all I had to add to my new /etc/portage/package.use/python file to get a 'clean' 'emerge --update --deep --newuse --with-bdeps=y @world -p'
This does solve my original issue with pygments.
Note: the exceptions will probably be different for anyone else looking at this.
Code: | */* PYTHON_TARGETS: -python2_7
# Exceptions:
gnome-base/gconf PYTHON_TARGETS: python2_7 # needed by esteam
dev-libs/libxslt PYTHON_TARGETS: python2_7 # needed by esteam
dev-libs/libxml2 PYTHON_TARGETS: python2_7
dev-python/cython PYTHON_TARGETS: python2_7
dev-python/setuptools PYTHON_TARGETS: python2_7 |
I was going to add "solved" to the title but this seems like an over-kill for claiming to "solve" the original issue. (But I am happy to have removed most uses of python-2.7.) |
|
Back to top |
|
|
hagar-dunor n00b
Joined: 26 Apr 2012 Posts: 39
|
Posted: Wed May 06, 2020 11:57 am Post subject: |
|
|
Even if this goes beyond topic, this discussion actually helped me getting closer to removing python 2.7 and 3.6
I've put this eventually into /etc/portage/package.use/python:
Code: | */* PYTHON_TARGETS: -python2_7 -python3_6 python3_7
*/* PYTHON_SINGLE_TARGET: -* python3_7 |
Then rebuilt world with emerge -uDN @world (in a few steps as explained in the python 3.6 news item) , which went fine, but then finally emerge --depclean doesn't remove python2.7, why is that? where is this overriden?
EDIT: answering to myself. On some of my installs depclean removes python 2.7, but this is due to the profile. On the desktop installs the desktop/plasma profile probably still has 2.7, while the default profile (17.1) probably doesn't have 2.7 anymore. |
|
Back to top |
|
|
Anon-E-moose Watchman
Joined: 23 May 2008 Posts: 6103 Location: Dallas area
|
Posted: Wed May 06, 2020 1:01 pm Post subject: |
|
|
jagdpanther wrote: | Anon-E-moose:
Your note about not using python2_7 seems much easier than I thought it would be to implement. Thank you. (Portage is about to re-emerge about 100 packages and add a few.)
Here is all I had to add to my new /etc/portage/package.use/python file to get a 'clean' 'emerge --update --deep --newuse --with-bdeps=y @world -p'
This does solve my original issue with pygments.
Note: the exceptions will probably be different for anyone else looking at this.
Code: | */* PYTHON_TARGETS: -python2_7
# Exceptions:
gnome-base/gconf PYTHON_TARGETS: python2_7 # needed by esteam
dev-libs/libxslt PYTHON_TARGETS: python2_7 # needed by esteam
dev-libs/libxml2 PYTHON_TARGETS: python2_7
dev-python/cython PYTHON_TARGETS: python2_7
dev-python/setuptools PYTHON_TARGETS: python2_7 |
I was going to add "solved" to the title but this seems like an over-kill for claiming to "solve" the original issue. (But I am happy to have removed most uses of python-2.7.) |
It's solved ... for the short term.
I was curious and noted setuptools current version 44.1.0 works with 2.7 but 45.* and up has removed 2.7 so if one is using 2.7 then they're going to have to stop updating setuptools (I'm facing this). That's the reason I say the solution is temporary.
I'm not sure what to do, about the few 2.7 programs that I use, I've seen "python env " being pushed, but I know nothing about that. So I'm considering removing python2.7 completely from portage and just compiling 2.7 and the few associated programs like setuptools and putting them in /usr/local. _________________ PRIME x570-pro, 3700x, 6.1 zen kernel
gcc 13, profile 17.0 (custom bare multilib), openrc, wayland |
|
Back to top |
|
|
jagdpanther l33t
Joined: 22 Nov 2003 Posts: 743
|
Posted: Wed May 06, 2020 6:17 pm Post subject: |
|
|
Quote: | I was curious and noted setuptools current version 44.1.0 works with 2.7 but 45.* and up has removed 2.7 so if one is using 2.7 then they're going to have to stop updating setuptools (I'm facing this). That's the reason I say the solution is temporary. |
Don't you think this issue will be resolved before setuptools-45 goes stable otherwise it will break many installs. (That doesn't help if you want to upgrade sooner.)
I wonder if you could add 2_7 back to setuptools-45?
It has been a couple of years, but compiling python 2 by hand is not hard ... until you want to add 3rd party modules that have lots of dependencies. Now I may just be lazy and use the 2_7 install of: https://www.anaconda.com/products/individual. |
|
Back to top |
|
|
Anon-E-moose Watchman
Joined: 23 May 2008 Posts: 6103 Location: Dallas area
|
Posted: Wed May 06, 2020 6:47 pm Post subject: |
|
|
I assume (yeah, I know ) that they will do something similar to numpy, but that's a wild ass guess. How easy to implement and whether they will *shrugs* _________________ PRIME x570-pro, 3700x, 6.1 zen kernel
gcc 13, profile 17.0 (custom bare multilib), openrc, wayland |
|
Back to top |
|
|
Mr Bonhomme n00b
Joined: 03 Mar 2003 Posts: 30
|
Posted: Fri May 08, 2020 9:59 pm Post subject: |
|
|
If it can help, to solve theses dependencies, I added this to /etc/portage/package.mask/various:
Code: | =dev-python/pygments-2.6.1
=dev-python/sphinx-2.0.1-r1
=dev-python/sphinx-2.4.4
|
|
|
Back to top |
|
|
sheep204 n00b
Joined: 28 Dec 2005 Posts: 31
|
Posted: Wed Jun 17, 2020 10:40 am Post subject: |
|
|
re-emerge m2r and docutils with PYTHON_TARGETS: -python2_7 |
|
Back to top |
|
|
araxon Tux's lil' helper
Joined: 25 May 2011 Posts: 83
|
Posted: Wed Jun 17, 2020 10:57 am Post subject: |
|
|
I have the same problem. I don't have PYTHON_TARGETS or PYTHON_SINGLE_TARGET defined anywhere.
I really don't care about python versions. The only reason for python existing on my servers is the bloody emerge is written in it. What can I do to make it happy again? |
|
Back to top |
|
|
samychow n00b
Joined: 30 Oct 2010 Posts: 4
|
Posted: Sat Aug 08, 2020 4:41 pm Post subject: |
|
|
I have had this same problem as well ever since following the instructions from a couple months ago about transitioning to python 2.7 and 3.6. I thought it would eventually get corrected by a change to an ebuild but it hasn't yet.
I am now seeing there is a bug report about it: https://bugs.gentoo.org/722762 . I followed the instructions of someone there to modify the appropriate package.use file to reflect the following:
Code: | dev-python/docutils PYTHON_TARGETS: -python2_7 |
This solved the issue for me.
Code: |
# emerge --ask --verbose -uDU --keep-going --with-bdeps=y @world
These are the packages that would be merged, in order:
Calculating dependencies ... done!
Total: 0 packages, Size of downloads: 0 KiB
WARNING: One or more updates/rebuilds have been skipped due to a dependency conflict:
dev-python/pygments:0
(dev-python/pygments-2.6.1:0/0::gentoo, ebuild scheduled for merge) USE="-doc -test" PYTHON_TARGETS="python3_7 (-pypy3) -python3_6 -python3_8 (-python3_9)" conflicts with
dev-python/pygments[python_targets_python2_7(-),python_targets_python3_7(-),-python_single_target_pypy3(-),-python_single_target_python2_7(-),-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)] required by (dev-python/docutils-0.16:0/0::gentoo, installed) USE="" PYTHON_TARGETS="python2_7 python3_7 (-pypy3) -python3_6 -python3_8"
Nothing to merge; quitting.
|
|
|
Back to top |
|
|
Hu Administrator
Joined: 06 Mar 2007 Posts: 21842
|
|
Back to top |
|
|
proteusx Guru
Joined: 21 Jan 2008 Posts: 338
|
Posted: Sun Aug 09, 2020 12:14 am Post subject: |
|
|
My solution was to move pygments-2.6.1.ebuild to my local overlay and modify the PYTHON_COMPAT line to add python2 support:
Code: | PYTHON_COMPAT=( python2_7 python3_{6,7,8,9} pypy3 ) |
|
|
Back to top |
|
|
asturm Developer
Joined: 05 Apr 2007 Posts: 8956
|
Posted: Sun Aug 09, 2020 12:18 am Post subject: |
|
|
It's just a warning, not a problem. |
|
Back to top |
|
|
asturm Developer
Joined: 05 Apr 2007 Posts: 8956
|
Posted: Sun Aug 09, 2020 12:24 am Post subject: |
|
|
Hu wrote: | caused by the Gentoo maintainers removing Python 2.7 support in the wrong order. Pygments should have retained its 2.7 support until docutils dropped support for 2.7, but did not. |
Yeah no.
https://pypi.org/project/Pygments/
Quote: | Requires: Python >=3.5 |
|
|
Back to top |
|
|
Hu Administrator
Joined: 06 Mar 2007 Posts: 21842
|
Posted: Sun Aug 09, 2020 1:01 am Post subject: |
|
|
I was referring to the ebuilds, as that is what the Gentoo maintainers control. The maintainers could have removed Python 2.7 from the docutils ebuild before committing the pygments-2.6.1 ebuild that lacks Python 2.7 in PYTHON_COMPAT. I am actually a bit surprised that repoman did not scream long and loud about that, as I thought it was very zealous about dependency checks like that. |
|
Back to top |
|
|
|