Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 500894 - dev-lang/tcl 8.5.15 and 8.6.1-r1 both needed on ~ but only 8.5.15 can be installed
Summary: dev-lang/tcl 8.5.15 and 8.6.1-r1 both needed on ~ but only 8.5.15 can be inst...
Status: RESOLVED UPSTREAM
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] Development (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Gentoo Ruby Team
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2014-02-10 15:10 UTC by Iddo
Modified: 2014-04-21 12:30 UTC (History)
2 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Iddo 2014-02-10 15:10:53 UTC
Unfortunately, due to a bug in Ruby is seems, that my current installed tcl is 8.5.15:

[code](dev-lang/tcl-8.6.1-r1::gentoo, ebuild scheduled for merge) conflicts with
    <dev-lang/tcl-8.6[threads] required by (dev-lang/ruby-2.0.0_p353-r1::gentoo, installed)
  (dev-lang/tcl-8.6.1-r1::gentoo, ebuild scheduled for merge) conflicts with
    <dev-lang/tcl-8.6[threads] required by (dev-lang/ruby-2.1.0::gentoo, installed)
  (dev-lang/tcl-8.6.1-r1::gentoo, ebuild scheduled for merge) conflicts with
    <dev-lang/tcl-8.6[threads] required by (dev-lang/ruby-1.9.3_p484::gentoo, installed)
  (dev-lang/tcl-8.6.1-r1::gentoo, ebuild scheduled for merge) conflicts with
    ~dev-lang/tcl-8.5.15 required by (dev-lang/tk-8.5.15::gentoo, installed)[/code]

See said bug & solution here: https://bugs.gentoo.org/show_bug.cgi?id=497130

However, other packages (such as networkx) that require tcl-8.6 seem not to work as they expect tcl 8.6:

[code]nx.draw(pcp)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/lib64/python2.7/site-packages/networkx-1.7-py2.7.egg/networkx/drawing/nx_pylab.py", line 119, in draw
    cf=pylab.gcf()
  File "/usr/lib64/python2.7/site-packages/matplotlib/pyplot.py", line 450, in gcf
    return figure()
  File "/usr/lib64/python2.7/site-packages/matplotlib/pyplot.py", line 423, in figure
    **kwargs)
  File "/usr/lib64/python2.7/site-packages/matplotlib/backends/backend_tkagg.py", line 79, in new_figure_manager
    return new_figure_manager_given_figure(num, figure)
  File "/usr/lib64/python2.7/site-packages/matplotlib/backends/backend_tkagg.py", line 87, in new_figure_manager_given_figure
    window = Tk.Tk()
  File "/usr/lib64/python2.7/lib-tk/Tkinter.py", line 1745, in __init__
    self.tk = _tkinter.create(screenName, baseName, className, interactive, wantobjects, useTk, sync, use)
_tkinter.TclError: Can't find a usable init.tcl in the following directories: 
    /usr/lib64/tcl8.6 /usr/lib/tcl8.6 /lib/tcl8.6 /usr/library /library /tcl8.6.1/library /tcl8.6.1/library
[/code]

Does anyone have a solution? i.e. tcl 8.5 and 8.6 in different slots?
Comment 1 Justin Lecher (RETIRED) gentoo-dev 2014-02-10 17:11:09 UTC
tcl/tk can't do anything here
Comment 2 Iddo 2014-02-10 17:45:44 UTC
Suggested solution: more than one slot for tcl/tk. Will enable the installation of both 8.6 and 8.5 (not sure if that will cause other clashes).
Comment 3 Justin Lecher (RETIRED) gentoo-dev 2014-02-10 17:49:34 UTC
(In reply to Iddo from comment #2)
> Suggested solution: more than one slot for tcl/tk. Will enable the
> installation of both 8.6 and 8.5 (not sure if that will cause other clashes).

no chance for slotting here. Ruby upstream needs to fix the package.
Comment 4 Hans de Graaff gentoo-dev Security 2014-02-10 18:50:10 UTC
(In reply to Justin Lecher from comment #3)
> (In reply to Iddo from comment #2)
> > Suggested solution: more than one slot for tcl/tk. Will enable the
> > installation of both 8.6 and 8.5 (not sure if that will cause other clashes).
> 
> no chance for slotting here. Ruby upstream needs to fix the package.

Given how long the upstream bug has gone without any attention I'm not sure when , or even if, this will happen, and I wonder if we should not remove tcl/tk support from ruby altogether and thus avoid these nasty downgrades. Nothing in the tree seems to depend on this support.

@Justin: any thoughts on this?
Comment 5 Justin Lecher (RETIRED) gentoo-dev 2014-02-10 20:01:02 UTC
(In reply to Hans de Graaff from comment #4)
> @Justin: any thoughts on this?

Drop it if you like. I am wondering who is using tcl/tk anyways. it only seems to used in python with tinker.
Comment 6 Iddo 2014-02-10 20:30:33 UTC
Yes, it is used in Tkinter, but many Python graphics and sci packages depend on that.
matplotlib
scipy
networkx
biopython

Many depend on graphviz & plplot, which in turn needs tcl/tk

$ equery d tcl
 * These packages depend on tcl:
app-crypt/mit-krb5-1.12.1 (dev-lang/tcl)
app-editors/gvim-7.4.155 (tcl ? dev-lang/tcl)
app-editors/vim-7.4.155 (tcl ? dev-lang/tcl)
dev-db/sqlite-3.8.2 (tcl ? dev-lang/tcl)
                    (test ? dev-lang/tcl)
dev-lang/ruby-1.9.3_p484 (tk ? <dev-lang/tcl-8.6[threads])
dev-lang/ruby-2.0.0_p353-r1 (tk ? <dev-lang/tcl-8.6[threads])
dev-lang/ruby-2.1.0 (tk ? <dev-lang/tcl-8.6[threads])
dev-lang/tk-8.5.15 (~dev-lang/tcl-8.5.15)
dev-libs/libnatspec-0.2.6 (python ? dev-lang/tcl)
media-gfx/graphviz-2.36.0 (tcl ? >=dev-lang/tcl-8.3)
net-im/pidgin-2.10.9-r1 (tcl ? dev-lang/tcl)
sci-libs/plplot-5.9.11-r1 (tcl ? dev-lang/tcl)
sys-libs/db-4.8.30 (tcl ? >=dev-lang/tcl-8.4)
                   (test ? >=dev-lang/tcl-8.4)
                   (tcl ? dev-lang/tcl)

So, tcl/tk quite needed, IMHO.
Comment 7 Justin Lecher (RETIRED) gentoo-dev 2014-02-11 07:46:02 UTC
(In reply to Iddo from comment #6)
> So, tcl/tk quite needed, IMHO.

It's about dropping it from ruby. Do you need it there?
Comment 8 Iddo 2014-02-11 13:05:43 UTC
I don't need it. Can't speak for others though. I don't know much about Ruby or Ruby Tcl/Tk dependencies.
Comment 9 Iddo 2014-02-14 22:54:58 UTC
So just wondering if there was any change in this? Dropped tcl/tk in Ruby?
Comment 10 Iddo 2014-02-20 19:51:32 UTC
So is there a solution for this?
Comment 11 Justin Lecher (RETIRED) gentoo-dev 2014-02-20 20:48:09 UTC
(In reply to Iddo from comment #10)
> So is there a solution for this?

Install ruby with USE=-tcl.
Comment 12 Iddo 2014-02-20 22:43:23 UTC
Needs a fix for Ruby TCL dependency. In the meantime, can install with this line in /usr/portage/package.use

dev-lang/ruby -tcl
Comment 13 Hans de Graaff gentoo-dev Security 2014-03-05 07:38:31 UTC
ruby 1.9.3_p545 and ruby 2.0.0_p451 ebuilds no longer support USE=tk to avoid this issue.
Comment 14 Hans de Graaff gentoo-dev Security 2014-03-06 06:34:44 UTC
USE=tk has now also been removed from ruby 2.1.1.