On 10/12/2013 17:19, Grant Edwards wrote:
> On 2013-12-10, Hans de Graaff <gra...@gentoo.org> wrote:
>> On Mon, 09 Dec 2013 18:29:46 +0000, Grant Edwards wrote:
>>
>>> My routine more-or-less weekly update suddenly decided that it needed to
>>> install 3 versions of Ruby along with ~50 other ruby-related packages. 
>>> This caused a bit of a problem, since those versions of Ruby can't
>>> coexist: (something to do with tk and threads).
>>
>> There should not be a problem installing these versions at the same time, 
>> although perhaps with a specific combination of USE flags there might be 
>> issues.
> 
> AFAICT, if you have a global "tk" USE flag, you can not have 1.8
> installed at the same time as 1.9 or 2.0.
> 
>> Because ruby18 and ruby19 are specified in the default RUBY_TARGETS as 
>> defined in the profile. And due to the way the dependencies are specified 
>> in both webkit and thin-provisioning-tools it will additionally try to 
>> pull in ruby20 first. Hence: three versions.
> 
> I understand that portage defaults to installing multiple versions (of
> Ruby, Python, and probably other stuff).  What I don't understand it
> _why_.  If none of the ebuilds specify q version, then they
> presumably will work with any availble version -- so why not just
> install one version?
> 


It's probably the same reasoning as python.

python has an eselect python module, ruby doesn't. But I presume ruby
can be selected just like python can be.

So you have multiple pythons on your system. Portage doesn't know why
you did that, only that you did. It also doesn't know what python/ruby
packages you may install later, only that you might.

The only thing portage can do is assume you want everything to work
under all installed interpreters. If you want to restrict the list of
installed interpreters, use the relevant settings in make.conf. Python
has PYTHON_TARGETS and SINGLE_PYTHON_TARGET for this, I don't know what
the ruby equivalent is.

This portage logic does actually make sense, it's the only thing that
works sanely (other than refusing to do anything unless you explicitly
name all desired interpreters).


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


Reply via email to