On 25/03/2016 17:09, James wrote:
> Alan McKinnon <alan.mckinnon <at> gmail.com> writes:
>
>
>>> Alan McKinnon <alan.mckinnon <at> gmail.com> writes:
>>>> emerge --info | grep PYTHON
>
>>> PYTHON_SINGLE_TARGET="python2_7" PYTHON_TARGETS="python2_7 python3_4"
>>> USE_PYTHON
>
>> The solution is right there in the original output. The ebuild needs
>> 3_4, you have 2_7. So set it in USE.
>
> So you are saying the first output of that env parse is the default setting?
> I thought eselect set the priority::
>
>
> # eselect python list
> Available Python interpreters:
> [1] python2.7
> [2] python3.4 *
>
>
> If that's not true where do I got to set the default to 3.4?
>
> I.E. where is the best place to set that env varialble for python? Is it
> a system default that is not address by eselect?
>
> It was set up to python 3.4 by default, according to eselect. The openshot
> (EAPI-6) ebuild did not pick this up, automatically, so I set these falgs
> manually in ::/etc/portage/package.use/package.use::
>
> media-video/openshot python_single_target_python3_4
> dev-python/PyQt5 webkit gui widgets opengl network printsupport
>
> I view python 2.x and deprecated, hence I never want to set it as
> a default, ymmv.
>
> I guess it's a bug as I have not had problem with other python codes/ebuilds.
> I'd need some verification on the status as a bug to file with bgo.
James,
You are being especially obtuse this time. Ate too many chocolate easter
eggs this weekend?
LOOK at the emerge output please (eselect python is a red herring), this
is what it says:
The following REQUIRED_USE flag constraints are unsatisfied:
exactly-one-of ( python_single_target_python3_4
python_single_target_python3_5 )
Clear as daylight. It says right there it needs PYTHON_SINGLE_TARGET to
be 1, and only 1, between 3.4 and 3.5.
You have it set as 2.7 per your emerge info.
Do what Q says 1 reply higher up in this sub-thread and your problem
will go away.
Here's what's happening:
When the ebuild installs a python package, it needs to determine what
python you will use and what goes in the python script shebang. This is
what PYTHON*TARGET does - it's really just a USE flag and emerge uses
that USE flag to figure out which python version to install against.
The flag is defined like any other flag - globally in make.conf or
per-package in package.use. The ebuild can and should assist by setting
it's own variables about what it can work with, but all of that is
undone when you override the ebuild with your own USE.
There is no bug here, your USE is set wrong by you.
eselect python: This handy gadget is a different thing from the above.
It determines what gets run when you type the command "python",
"python2" or "python3", because you can have lots of them. eselect
python tells Gentoo what is the global default. It has NOTHING to do
with installs.
The reason that all your other packages work and this one doesn't is
because so far that's the only one that has tripped over your
misconfigured USE.
--
Alan McKinnon
[email protected]