On 13/04/2015 03:07, »Q« wrote:
> On Sun, 12 Apr 2015 21:35:07 +0300
> Matti Nykyri <matti.nyk...@iki.fi> wrote:
> 
>>> On Apr 12, 2015, at 20:23, »Q« <boxc...@gmx.net> wrote:
>>>
>>> On Sun, 12 Apr 2015 11:12:38 +0200
>>> "J. Roeleveld" <jo...@antarean.org> wrote:
>>>   
>>>> On Saturday, April 11, 2015 08:42:20 PM Alan Grimes wrote:  
>>>   
>>>>> PYTHON_TARGETS="${PYTHON_TARGETS} python2_7 python3_4"
>>>>> PYTHON_SINGLE_TARGET="python2_7"  
>>>>
>>>> These are set in your profile, please do not override this.
>>>> In other words, please remove these 2 lines.  
>>>
>>> I'm not the OP.  (I spend less time than him on maintaining my
>>> system.)
>>>
>>> Should those variables really not be set in make.conf?  I added
>>> them to make.conf some time back because portage complained about
>>> them, and if I comment them out, it complains again, like so:
> 
>>>  The following REQUIRED_USE flag constraints are unsatisfied:
>>>    python? ( exactly-one-of ( python_single_target_python3_3
>>> python_single_target_python3_4 python_single_target_python2_7 ) )
> 
> [snip]
> 
>> This is because you have set the "python" use flag in your make.conf
>> (or package.use).
>>
>> Remove the python useflag and the problem goes away. It is not set by
>> the profile but by you. Do you really need it?
> 
> I enabled it globally (in make.conf), but I think I only need it for one
> or two packages.  If I remove it from USE, I get portage complaining
> about other things.
> 
> 


USE="python" is one of those flags that has no accurate meaning in real
life, and the user needs to make an informed decision. It doesn't work
like USE="sse" for example, which means packages that can use the sse
instruction set  will compile for it. It's a fairly exact meaning.

USE="python" means "use python to do stuff" but stuff is not defined and
it's usually hard to find out what it is for a given package. For some
it means to build optional extra tools that run under python, for some
it means to create python language bindings, and for others it could
even mean some critical system function that is implemented in python
and eats your kittens if not enabled. (sort of like how portage is
implemented in python; there's no USE for it but you get the idea).

Usually, USE="python" should be set per-package if you need what it
does. I had it in make.conf myself in my early days and kept getting
into circular dependencies. Sorting that out took some effort.

Portage will almost certainly complain if you take something with
far-reaching effects as USE="python" in make.conf and remove it.

So, take each thing it is complaining about and enable or disable it
based on what you need. Tweak as necessary to get the result you want.


-- 
Alan McKinnon
alan.mckin...@gmail.com


Reply via email to