Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
python_targets dependency conflict for pygments
View unanswered posts
View posts from last 24 hours

Goto page 1, 2  Next  
Reply to topic    Gentoo Forums Forum Index Portage & Programming
View previous topic :: View next topic  
Author Message
jagdpanther
l33t
l33t


Joined: 22 Nov 2003
Posts: 743

PostPosted: Mon May 04, 2020 9:27 pm    Post subject: python_targets dependency conflict for pygments Reply with quote

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
View user's profile Send private message
UlFie
Tux's lil' helper
Tux's lil' helper


Joined: 01 Nov 2011
Posts: 112
Location: Wuppertal

PostPosted: Mon May 04, 2020 9:53 pm    Post subject: Reply with quote

How about trying this the other way round, i.e. -python2_7 on the PYTHON_TARGETS for docutils?
Back to top
View user's profile Send private message
Anon-E-moose
Watchman
Watchman


Joined: 23 May 2008
Posts: 6103
Location: Dallas area

PostPosted: Mon May 04, 2020 9:59 pm    Post subject: Reply with quote

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
View user's profile Send private message
jagdpanther
l33t
l33t


Joined: 22 Nov 2003
Posts: 743

PostPosted: Mon May 04, 2020 10:22 pm    Post subject: Reply with quote

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
View user's profile Send private message
jagdpanther
l33t
l33t


Joined: 22 Nov 2003
Posts: 743

PostPosted: Mon May 04, 2020 10:38 pm    Post subject: Reply with quote

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
View user's profile Send private message
Anon-E-moose
Watchman
Watchman


Joined: 23 May 2008
Posts: 6103
Location: Dallas area

PostPosted: Mon May 04, 2020 11:00 pm    Post subject: Reply with quote

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
View user's profile Send private message
jagdpanther
l33t
l33t


Joined: 22 Nov 2003
Posts: 743

PostPosted: Tue May 05, 2020 2:39 am    Post subject: Reply with quote

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
View user's profile Send private message
hagar-dunor
n00b
n00b


Joined: 26 Apr 2012
Posts: 39

PostPosted: Tue May 05, 2020 7:43 am    Post subject: Reply with quote

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
View user's profile Send private message
Anon-E-moose
Watchman
Watchman


Joined: 23 May 2008
Posts: 6103
Location: Dallas area

PostPosted: Tue May 05, 2020 2:03 pm    Post subject: Reply with quote

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
View user's profile Send private message
Anon-E-moose
Watchman
Watchman


Joined: 23 May 2008
Posts: 6103
Location: Dallas area

PostPosted: Tue May 05, 2020 2:06 pm    Post subject: Reply with quote

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
View user's profile Send private message
hagar-dunor
n00b
n00b


Joined: 26 Apr 2012
Posts: 39

PostPosted: Tue May 05, 2020 3:22 pm    Post subject: Reply with quote

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
View user's profile Send private message
jagdpanther
l33t
l33t


Joined: 22 Nov 2003
Posts: 743

PostPosted: Tue May 05, 2020 8:05 pm    Post subject: Reply with quote

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
View user's profile Send private message
hagar-dunor
n00b
n00b


Joined: 26 Apr 2012
Posts: 39

PostPosted: Wed May 06, 2020 11:57 am    Post subject: Reply with quote

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
View user's profile Send private message
Anon-E-moose
Watchman
Watchman


Joined: 23 May 2008
Posts: 6103
Location: Dallas area

PostPosted: Wed May 06, 2020 1:01 pm    Post subject: Reply with quote

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
View user's profile Send private message
jagdpanther
l33t
l33t


Joined: 22 Nov 2003
Posts: 743

PostPosted: Wed May 06, 2020 6:17 pm    Post subject: Reply with quote

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
View user's profile Send private message
Anon-E-moose
Watchman
Watchman


Joined: 23 May 2008
Posts: 6103
Location: Dallas area

PostPosted: Wed May 06, 2020 6:47 pm    Post subject: Reply with quote

I assume (yeah, I know :lol: ) 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
View user's profile Send private message
Mr Bonhomme
n00b
n00b


Joined: 03 Mar 2003
Posts: 30

PostPosted: Fri May 08, 2020 9:59 pm    Post subject: Reply with quote

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
View user's profile Send private message
sheep204
n00b
n00b


Joined: 28 Dec 2005
Posts: 31

PostPosted: Wed Jun 17, 2020 10:40 am    Post subject: Reply with quote

re-emerge m2r and docutils with PYTHON_TARGETS: -python2_7
Back to top
View user's profile Send private message
araxon
Tux's lil' helper
Tux's lil' helper


Joined: 25 May 2011
Posts: 83

PostPosted: Wed Jun 17, 2020 10:57 am    Post subject: Reply with quote

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
View user's profile Send private message
samychow
n00b
n00b


Joined: 30 Oct 2010
Posts: 4

PostPosted: Sat Aug 08, 2020 4:41 pm    Post subject: Reply with quote

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
View user's profile Send private message
Hu
Administrator
Administrator


Joined: 06 Mar 2007
Posts: 21842

PostPosted: Sat Aug 08, 2020 4:52 pm    Post subject: Reply with quote

This is not a result of you following the migration instructions. As you note, this is dev-python/docutils-0.16 still supports Python 2.7 but it's dependency dev-python/pygments-2.6.1 doesn't -- dependency conflict, and is 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. You can ignore this message, or eliminate it by explicitly disabling Python 2.7 support for docutils as you did.
Back to top
View user's profile Send private message
proteusx
Guru
Guru


Joined: 21 Jan 2008
Posts: 338

PostPosted: Sun Aug 09, 2020 12:14 am    Post subject: Reply with quote

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
View user's profile Send private message
asturm
Developer
Developer


Joined: 05 Apr 2007
Posts: 8956

PostPosted: Sun Aug 09, 2020 12:18 am    Post subject: Reply with quote

It's just a warning, not a problem.
Back to top
View user's profile Send private message
asturm
Developer
Developer


Joined: 05 Apr 2007
Posts: 8956

PostPosted: Sun Aug 09, 2020 12:24 am    Post subject: Reply with quote

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
View user's profile Send private message
Hu
Administrator
Administrator


Joined: 06 Mar 2007
Posts: 21842

PostPosted: Sun Aug 09, 2020 1:01 am    Post subject: Reply with quote

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
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Portage & Programming All times are GMT
Goto page 1, 2  Next
Page 1 of 2

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum