Re: [gentoo-user] Setting PYTHON_TARGETS in make.conf is not supported?
2018-07-26 18:09 GMT+03:00 Mike Gilbert : > On Thu, Jul 26, 2018 at 10:57 AM Grand Duet wrote: >> >> Just now I have tried to manually set >> >> PYTHON_TARGETS="python2_7 python3_6" >> PYTHON_SINGLE_TARGET="python3_6" >> >> in /etc/portage/make.conf and got the following error: >> >> # emerge --update --deep --with-bdeps=y --newuse --backtrack=120 --ask world >> >> These are the packages that would be merged, in order: >> >> Calculating dependencies... done! >> >> !!! The ebuild selected to satisfy "app-text/asciidoc" has unmet >> requirements. >> - app-text/asciidoc-8.6.10::gentoo USE="-examples -graphviz -highlight >> -test" ABI_X86="(64)" PYTHON_SINGLE_TARGET="(-pypy) -python2_7" >> PYTHON_TARGETS="python2_7 (-pypy)" >> >> The following REQUIRED_USE flag constraints are unsatisfied: >> exactly-one-of ( python_single_target_pypy >> python_single_target_python2_7 ) >> >> The above constraints are a subset of the following complete expression: >> exactly-one-of ( python_single_target_pypy >> python_single_target_python2_7 ) python_single_target_pypy? ( >> python_targets_pypy ) python_single_target_python2_7? ( >> python_targets_python2_7 ) >> >> (dependency required by "app-text/dvisvgm-2.1.3::gentoo" [installed]) >> (dependency required by "app-text/texlive-2017::gentoo[extra]" [installed]) >> (dependency required by "@selected" [set]) >> (dependency required by "@world" [argument]) >> >> which is similar to those errors I got while trying to set >> >> PYTHON_TARGETS="python2_7 python3_5" >> PYTHON_SINGLE_TARGET="python3_5" >> >> before switching yesterday from python-3.5 to python-3.6 target. >> >> Does it mean that setting python targets in /etc/portage/make.conf is >> not supported any more? > > No, setting PYTHON_TARGETS in make.conf should still work. > > It looks like asciidoc only supports python2, and for some reason > portage is trying to disable python2_7. I'm not sure why that might > be; we enable python2_7 for asciidoc via profiles/base/package.use. > > Have you made some odd change to your profile, or overridden something > in /etc/portage/package.use? No, I have not make any changes in my profile or packege.use. I have only added PYTHON_TARGETS="python2_7 python3_6" PYTHON_SINGLE_TARGET="python3_6" lines to /etc/portage/make.conf And when I comment these two lines in /etc/portage/make.conf, the error mentioned above disappears. Without those two lines in make.conf, I have the following: $ equery uses asciidoc * Found these USE flags for app-text/asciidoc-8.6.10: U I - - examples : Install examples, usually source code - - graphviz : Add support for the Graphviz library - - highlight : Enable source code highlighting + + python_single_target_python2_7 : Build for Python 2.7 only + + python_targets_python2_7 : Build with Python 2.7 With those two lines in make.conf, I have the following: $ equery uses asciidoc * Found these USE flags for app-text/asciidoc-8.6.10: U I - - examples : Install examples, usually source code - - graphviz : Add support for the Graphviz library - - highlight : Enable source code highlighting - + python_single_target_python2_7 : Build for Python 2.7 only + + python_targets_python2_7 : Build with Python 2.7 Ok, got it: the mentioned above settings in /etc/portage/make.conf overrides those of asciidoc. So, the recomendations made in the news "Python 3.6 to become the default target" (mentioned in the thread "Any real need to switch python targets back and forth every month?") on how to set python targets in /etc/portage/make.conf was actually useless. Thank you for all who replied to this thread.
Re: [gentoo-user] Setting PYTHON_TARGETS in make.conf is not supported?
On 26.07.2018 16:57, Grand Duet wrote: > PYTHON_TARGETS="python2_7 python3_6" > PYTHON_SINGLE_TARGET="python3_6" > [...] > The ebuild selected to satisfy "app-text/asciidoc" has unmet requirements. > The following REQUIRED_USE flag constraints are unsatisfied: > exactly-one-of ( python_single_target_pypy python_single_target_python2_7 ) > [...] > Does it mean that setting python targets in /etc/portage/make.conf is > not supported any more? No. It means what the message says says. app-text/asciidoc requires its PYTHON_SINGLE_TARGET to be either PyPy exclusive or Python 2.7. You cannot force an application to use Python 3.x if the maintainer flagged the ebuild as incompatible with Python 3.x. -Ralph
Re: [gentoo-user] Setting PYTHON_TARGETS in make.conf is not supported?
On Thu, Jul 26, 2018 at 10:57 AM Grand Duet wrote: > > Just now I have tried to manually set > > PYTHON_TARGETS="python2_7 python3_6" > PYTHON_SINGLE_TARGET="python3_6" > > !!! The ebuild selected to satisfy "app-text/asciidoc" has unmet requirements. > - app-text/asciidoc-8.6.10::gentoo USE="-examples -graphviz -highlight > -test" ABI_X86="(64)" PYTHON_SINGLE_TARGET="(-pypy) -python2_7" > PYTHON_TARGETS="python2_7 (-pypy)" > > The following REQUIRED_USE flag constraints are unsatisfied: > exactly-one-of ( python_single_target_pypy python_single_target_python2_7 > ) > > Does it mean that setting python targets in /etc/portage/make.conf is > not supported any more? No, it means that this setting doesn't work with asciidoc specifically. I believe you'd need to override the setting for that one particular package in package.env. Unfortunately that is a fairly significant dependency that just about everybody doing this runs into. Anytime you set a setting globally in make.conf there is the possibility of needing to override it per-package if it causes compatibility issues. Personally I'd suggest just letting the profiles control everything unless you really care what is going on with python. If you do care a lot about what is going on with python, then you're probably are in a better position to deal with errors like this. -- Rich
Re: [gentoo-user] Setting PYTHON_TARGETS in make.conf is not supported?
On Thu, Jul 26, 2018 at 10:57 AM Grand Duet wrote: > > Just now I have tried to manually set > > PYTHON_TARGETS="python2_7 python3_6" > PYTHON_SINGLE_TARGET="python3_6" > > in /etc/portage/make.conf and got the following error: > > # emerge --update --deep --with-bdeps=y --newuse --backtrack=120 --ask world > > These are the packages that would be merged, in order: > > Calculating dependencies... done! > > !!! The ebuild selected to satisfy "app-text/asciidoc" has unmet requirements. > - app-text/asciidoc-8.6.10::gentoo USE="-examples -graphviz -highlight > -test" ABI_X86="(64)" PYTHON_SINGLE_TARGET="(-pypy) -python2_7" > PYTHON_TARGETS="python2_7 (-pypy)" > > The following REQUIRED_USE flag constraints are unsatisfied: > exactly-one-of ( python_single_target_pypy python_single_target_python2_7 > ) > > The above constraints are a subset of the following complete expression: > exactly-one-of ( python_single_target_pypy > python_single_target_python2_7 ) python_single_target_pypy? ( > python_targets_pypy ) python_single_target_python2_7? ( > python_targets_python2_7 ) > > (dependency required by "app-text/dvisvgm-2.1.3::gentoo" [installed]) > (dependency required by "app-text/texlive-2017::gentoo[extra]" [installed]) > (dependency required by "@selected" [set]) > (dependency required by "@world" [argument]) > > which is similar to those errors I got while trying to set > > PYTHON_TARGETS="python2_7 python3_5" > PYTHON_SINGLE_TARGET="python3_5" > > before switching yesterday from python-3.5 to python-3.6 target. > > Does it mean that setting python targets in /etc/portage/make.conf is > not supported any more? No, setting PYTHON_TARGETS in make.conf should still work. It looks like asciidoc only supports python2, and for some reason portage is trying to disable python2_7. I'm not sure why that might be; we enable python2_7 for asciidoc via profiles/base/package.use. Have you made some odd change to your profile, or overridden something in /etc/portage/package.use?
[gentoo-user] Setting PYTHON_TARGETS in make.conf is not supported?
Just now I have tried to manually set PYTHON_TARGETS="python2_7 python3_6" PYTHON_SINGLE_TARGET="python3_6" in /etc/portage/make.conf and got the following error: # emerge --update --deep --with-bdeps=y --newuse --backtrack=120 --ask world These are the packages that would be merged, in order: Calculating dependencies... done! !!! The ebuild selected to satisfy "app-text/asciidoc" has unmet requirements. - app-text/asciidoc-8.6.10::gentoo USE="-examples -graphviz -highlight -test" ABI_X86="(64)" PYTHON_SINGLE_TARGET="(-pypy) -python2_7" PYTHON_TARGETS="python2_7 (-pypy)" The following REQUIRED_USE flag constraints are unsatisfied: exactly-one-of ( python_single_target_pypy python_single_target_python2_7 ) The above constraints are a subset of the following complete expression: exactly-one-of ( python_single_target_pypy python_single_target_python2_7 ) python_single_target_pypy? ( python_targets_pypy ) python_single_target_python2_7? ( python_targets_python2_7 ) (dependency required by "app-text/dvisvgm-2.1.3::gentoo" [installed]) (dependency required by "app-text/texlive-2017::gentoo[extra]" [installed]) (dependency required by "@selected" [set]) (dependency required by "@world" [argument]) which is similar to those errors I got while trying to set PYTHON_TARGETS="python2_7 python3_5" PYTHON_SINGLE_TARGET="python3_5" before switching yesterday from python-3.5 to python-3.6 target. Does it mean that setting python targets in /etc/portage/make.conf is not supported any more? P.S. Currently my system is up-to-date and already switched to python-3.6 targets.