Gentoo Archives: gentoo-user

From: Alan McKinnon <alan.mckinnon@×××××.com>
To: gentoo-user@l.g.o
Subject: Re: [gentoo-user] Re: Routine update wants to install 3 version of Ruby + 50 others
Date: Tue, 10 Dec 2013 15:52:46
Message-Id: 52A738C4.7030005@gmail.com
In Reply to: [gentoo-user] Re: Routine update wants to install 3 version of Ruby + 50 others by Grant Edwards
1 On 10/12/2013 17:19, Grant Edwards wrote:
2 > On 2013-12-10, Hans de Graaff <graaff@g.o> wrote:
3 >> On Mon, 09 Dec 2013 18:29:46 +0000, Grant Edwards wrote:
4 >>
5 >>> My routine more-or-less weekly update suddenly decided that it needed to
6 >>> install 3 versions of Ruby along with ~50 other ruby-related packages.
7 >>> This caused a bit of a problem, since those versions of Ruby can't
8 >>> coexist: (something to do with tk and threads).
9 >>
10 >> There should not be a problem installing these versions at the same time,
11 >> although perhaps with a specific combination of USE flags there might be
12 >> issues.
13 >
14 > AFAICT, if you have a global "tk" USE flag, you can not have 1.8
15 > installed at the same time as 1.9 or 2.0.
16 >
17 >> Because ruby18 and ruby19 are specified in the default RUBY_TARGETS as
18 >> defined in the profile. And due to the way the dependencies are specified
19 >> in both webkit and thin-provisioning-tools it will additionally try to
20 >> pull in ruby20 first. Hence: three versions.
21 >
22 > I understand that portage defaults to installing multiple versions (of
23 > Ruby, Python, and probably other stuff). What I don't understand it
24 > _why_. If none of the ebuilds specify q version, then they
25 > presumably will work with any availble version -- so why not just
26 > install one version?
27 >
28
29
30 It's probably the same reasoning as python.
31
32 python has an eselect python module, ruby doesn't. But I presume ruby
33 can be selected just like python can be.
34
35 So you have multiple pythons on your system. Portage doesn't know why
36 you did that, only that you did. It also doesn't know what python/ruby
37 packages you may install later, only that you might.
38
39 The only thing portage can do is assume you want everything to work
40 under all installed interpreters. If you want to restrict the list of
41 installed interpreters, use the relevant settings in make.conf. Python
42 has PYTHON_TARGETS and SINGLE_PYTHON_TARGET for this, I don't know what
43 the ruby equivalent is.
44
45 This portage logic does actually make sense, it's the only thing that
46 works sanely (other than refusing to do anything unless you explicitly
47 name all desired interpreters).
48
49
50 --
51 Alan McKinnon
52 alan.mckinnon@×××××.com

Replies

Subject Author
Re: [gentoo-user] Re: Routine update wants to install 3 version of Ruby + 50 others Bruce Hill <daddy@×××××××××××××××××××××.com>