# Require "tk" on linux

**URL:** <https://www.ruby-forum.com/t/require-tk-on-linux/55914>\
**Category:** Ruby\
**Created:** [March 25, 2006, 3:31am UTC](https://www.ruby-forum.com/t/require-tk-on-linux/55914 "2006-03-25T03:31:14Z")\
**Posts on this page:** 8\
**Page:** 1

<div class="post-metadata">

**Author:** ![braas](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/b/f04885/32.png) [@braas](https://www.ruby-forum.com/u/braas)\
**Post date:** [March 25, 2006, 3:31am UTC](https://www.ruby-forum.com/t/require-tk-on-linux/55914/1 "2006-03-25T03:31:14Z")

</div>

Hi there, I really need to be able to use tk on my linux box, but I get  
an  
error:

require “tk” =\> test.rb:1:in `require’: No such file to load – tk  
(LoadError)

I can’t figure out how to solve this, since I got tk installed, and i  
works  
out just fine on my window box. Anyone who can help?

Thanks in advance.

---

<div class="post-metadata">

**Author:** ![braas](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/b/f04885/32.png) [@braas](https://www.ruby-forum.com/u/braas)\
**Post date:** [March 25, 2006, 7:12am UTC](https://www.ruby-forum.com/t/require-tk-on-linux/55914/2 "2006-03-25T07:12:36Z")

</div>

[http://groups.google.com/group/comp.lang.ruby/browse\_frm/thread/df8ceea00bda518/953d9ff16fff153a?q=tk+no+such+file+to+load&rnum=28#953d9ff16fff153a](http://groups.google.com/group/comp.lang.ruby/browse_frm/thread/df8ceea00bda518/953d9ff16fff153a?q=tk+no+such+file+to+load&rnum=28#953d9ff16fff153a)

2006/3/24, Jeppe J. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid):

> –  
> “winners never quit, quitters never win”

–  
Gerardo S.  
“Between individuals, as between nations, respect for the rights of  
others is peace” - Don Benito Juárez

> **[Santana's Tech Notes](http://santanatechnotes.blogspot.com/)**
>
> Small notes about technical related stuff I do, mainly OpenBSD and Ruby

---

<div class="post-metadata">

**Author:** ![braas](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/b/f04885/32.png) [@braas](https://www.ruby-forum.com/u/braas)\
**Post date:** [March 28, 2006, 11:18pm UTC](https://www.ruby-forum.com/t/require-tk-on-linux/55914/3 "2006-03-28T23:18:43Z")

</div>

I’m afraid I did something wrong. When i enter the last line in step 3,  
I  
got this error:  
ruby: No such file or directory – extconf.rb (LoadError)

Some things that may have caused the error:  
Maybe I’ve been in the wrong directory? (Which one is the correct one?)  
Maybe I don’t get the part about extconf.rb. Is it an existing file, or  
shall I create it? If so, where do I put it and what should it contain?

I’m kind of new to Linux, so I don’t get most of the stuff yet.

2006/3/25, Gerardo S. GÃ³mez Garrido [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid):

---

<div class="post-metadata">

**Author:** ![braas](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/b/f04885/32.png) [@braas](https://www.ruby-forum.com/u/braas)\
**Post date:** [March 29, 2006, 12:28am UTC](https://www.ruby-forum.com/t/require-tk-on-linux/55914/4 "2006-03-29T00:28:50Z")

</div>

Yes I saw it but I don’t quite understand. For one thing, I don’t seem  
to  
have a directory called ext/tcltklib. I can’t find it and neither can my  
search function.  
I don’t have a directory called /usr/swf either.

2006/3/29, Gerardo S. GÃ³mez Garrido [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid):

---

<div class="post-metadata">

**Author:** ![braas](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/b/f04885/32.png) [@braas](https://www.ruby-forum.com/u/braas)\
**Post date:** [March 29, 2006, 6:51am UTC](https://www.ruby-forum.com/t/require-tk-on-linux/55914/5 "2006-03-29T06:51:58Z")

</div>

2006/3/28, Jeppe J. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid):

> Yes I saw it but I don’t quite understand. For one thing, I don’t seem to  
> have a directory called ext/tcltklib. I can’t find it and neither can my  
> search function.  
> I don’t have a directory called /usr/swf either.

You need Ruby’s source code, ext/tcltklib is there. You need Tcl/Tk’s  
header files and libraries. Depending on your Linux distribution,  
you’d need a \*-devel and a \*-lib package or something similar. Then  
substitute /usr/sfw with the path where those files are installed.  
Don’t forget to read ext/tcltklib/README.1st

---

<div class="post-metadata">

**Author:** ![braas](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/b/f04885/32.png) [@braas](https://www.ruby-forum.com/u/braas)\
**Post date:** [March 29, 2006, 12:12am UTC](https://www.ruby-forum.com/t/require-tk-on-linux/55914/6 "2006-03-29T00:12:30Z")

</div>

From the same conversation:

# cd ext/tcltklib

# ruby extconf.rb --with-tcl-include=/usr/sfw/include

# make && make install

Of course, /usr/swf/include should point to where your Tcl headers are  
installed. Everything will be clear for you when you read the README  
file inside ext/tcltklib.

2006/3/28, Jeppe J. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid):

> > > require “tk” =\> test.rb:1:in `require’: No such file to load – tk
> 
> –  
> “winners never quit, quitters never win”

–  
Gerardo S.  
“Between individuals, as between nations, respect for the rights of  
others is peace” - Don Benito Juárez

> **[Santana's Tech Notes](http://santanatechnotes.blogspot.com/)**
>
> Small notes about technical related stuff I do, mainly OpenBSD and Ruby

---

<div class="post-metadata">

**Author:** ![braas](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/b/f04885/32.png) [@braas](https://www.ruby-forum.com/u/braas)\
**Post date:** [March 29, 2006, 9:20am UTC](https://www.ruby-forum.com/t/require-tk-on-linux/55914/7 "2006-03-29T09:20:39Z")

</div>

I’ll take that I also will need the source for \*-devel to get the  
headers?  
Where can I find this? A search on google only gave me a lot of  
packages.

2006/3/29, Gerardo S. GÃ³mez Garrido [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid):

---

<div class="post-metadata">

**Author:** ![braas](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/b/f04885/32.png) [@braas](https://www.ruby-forum.com/u/braas)\
**Post date:** [March 29, 2006, 7:03am UTC](https://www.ruby-forum.com/t/require-tk-on-linux/55914/8 "2006-03-29T07:03:31Z")

</div>

From: “Jeppe J.” [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)  
Subject: Re: Require “tk” on linux  
Date: Wed, 29 Mar 2006 07:28:23 +0900  
Message-ID:  
[removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)

> Yes I saw it but I don’t quite understand. For one thing, I don’t seem to  
> have a directory called ext/tcltklib. I can’t find it and neither can my  
> search function.

If you extracted source codes of Ruby 1.8.4,  
there is not ‘ext/tcltklib’.  
‘ext/tcltklib’ and ‘ext/tk’ were unified to ‘ext/tk’.  
Please check READMEs on ‘ext/tk’.
