Might seem a little long, but it’s actually pretty small…
I have decided to install Tcl, Tk and tcltk libraries for ruby on Ubuntu
12.04, but I got struck in the process where there seems to be a version
conflict.
Here’s what I have done…
Firstly, I uninstalled built in ruby packages using apt-get remove
command.
Now, I installed ruby 1.9.1 using sudo apt-get install ruby1.9.1 command
Then, when I check the version using command ruby --version, it says
ruby1.9.3p0 (But, I installed 1.9.1 ??)
Then, I installed tcl8.5 and tk8.5 using sudo apt-get install tcl8.5 and
sudo apt-get install tk8.5
Then, I installed ruby libraries using sudo apt-get install
libtcltk-ruby1.9.1
Now, in the irb, when I require ‘tk’
it says:
RuntimeError: tcltklib: fail to Tk_Init(). Can’t find a usable tk.tcl in
the following directories:
/usr/share/tcltk/tcl8.5/tk8.5 /usr/lib/tk8.5
/usr/local/lib/tcltk/tk8.5 /usr/local/share/tcltk/tk8.5
/usr/lib/tcltk/tk8.5 /usr/share/tcltk/tk8.5 /lib/tk8.5 /usr/library
/usr/share/tcltk/tk8.5/tk.tcl: version conflict for package “Tk”: have
8.5.10, need exactly 8.5.11
version conflict for package “Tk”: have 8.5.10, need exactly 8.5.11
while executing
“package require -exact Tk 8.5.11”
(file “/usr/share/tcltk/tk8.5/tk.tcl” line 18)
invoked from within
“source /usr/share/tcltk/tk8.5/tk.tcl”
(“uplevel” body line 1)
invoked from within
“uplevel #0 [list source $file]”
After, when I exit irb, it shows a segmentation fault and a huge list of
process memory map, backtrace information etc. and says Aborted(core
dumped).
What just happened? Why is Tk not working? What should I do to get exact
8.5.11 version? BTW, I am running amd64 version of Ubuntu 12.04 LTS.