Local Tcl

From Eggdrop Wiki

Revision as of 20:48, 30 May 2009 by Thommey (Talk | contribs)
Jump to: navigation, search

As you all know, Tcl (official site, wiki page) is needed to compile eggdrop so in this short tutorial I will show you how to install it locally to your shell.

General recommendation is to have the admin of the machine you have a shell on install Tcl for you, but if that is not possible, this tutorial might help you.

Let's get started!

Obtaining Tcl

First step of course is downloading Tcl! Recommended place for doing that is of course the official web page, www.tcl.tk/, or their Sourceforge page http://sourceforge.net/projects/tcl/.

Easiest way to download directly to shell is using the command wget:

wget http://prdownloads.sourceforge.net/tcl/tcl8.5.5-src.tar.gz

You should see something like this appear on your screen:

username@shell:~/down$ wget http://prdownloads.sourceforge.net/tcl/tcl8.5.5-src.tar.gz

--2008-11-16 06:28:25--  http://prdownloads.sourceforge.net/tcl/tcl8.5.5-src.tar.gz
Resolving prdownloads.sourceforge.net... 216.34.181.60
Connecting to prdownloads.sourceforge.net|216.34.181.60|:80... connected.
HTTP request sent, awaiting response... 302 Found
Location: http://voxel.dl.sourceforge.net/sourceforge/tcl/tcl8.5.5-src.tar.gz [following]
--2008-11-16 06:28:25--  http://voxel.dl.sourceforge.net/sourceforge/tcl/tcl8.5.5-src.tar.gz
Resolving voxel.dl.sourceforge.net... 208.122.28.3, 208.122.28.21, 208.122.28.2, ...
Connecting to voxel.dl.sourceforge.net|208.122.28.3|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 4405210 (4.2M) [application/x-gzip]
Saving to: `tcl8.5.5-src.tar.gz' 

100%[==================================================================>] 4,405,210   1.12M/s   in 3.8s

2008-11-16 06:28:29 (1.10 MB/s) - `tcl8.5.5-src.tar.gz' saved [4405210/4405210]

Now that we have downloaded the sources we need to configure and compile them.


Installing

First of all, we need to unpack that archive we just downloaded. We can do that by typing

tar -xfz tcl8.5.5-src.tar.gz

You can include v in -xfz (e.g. -xvfz) if you want to see all the files that are being unpacked from the archive but it's unimportant to us.

You should now have a directory called tcl8.5.5 along with that archive we downloaded. Next step is

cd tcl8.5.5

to enter that directory. When you are compiling things by hand like we are now, it's generally a good idea to read the README and/or INSTALL file(s) that come with the source. Reading the README file in this case tells us we need to enter subdirectory unix. Do that

cd unix

There is a README file inside that directory with detailed installation instructions but we'll keep it fast and simple.

Next we need to run the configure script. As we are installing Tcl locally in our shell, we need to change the default installation directories. We do that by specifying the --prefix switch. So our next command will look something like:

./configure --prefix=$HOME/local

This will change the default installation directory to local inside our home directory. $HOME is an environment variable containing the full path to your home directory. Alternatively you could have typed out the full path to your home directory (usually /home/username).

If the configure script executed without errors or warnings we can now proceed to make. In case the configure script reported errors or warnings I recommend you either google the error, ask in #tcl channel on any network or a help channel for your OS.

Next command will be

make

You will now see screen after screen of stuff that will mean absolutely nothing to you. But that's ok =) Just make sure there are no errors! Depending on the machine specifications it might take a while for the compile to finish.

After make ends we can proceed to make install. If you didn't specify the correct path when running configure or don't have write rights on that directory, 'make install' will fail! Now run

make install

After that finishes you should be able change to the directory we installed Tcl to and see the following directories in $HOME/local/

username@shell:~/local$ ls
bin  include  lib  man


Configuring eggdrop

After you have successfully installed Tcl you can proceed to compiling your eggdrop! Only things that differs from the usual compilation of eggdrop is that you need to include two switches when running the configure script. Your ./configure line should now look like:

./configure --with-tcllib=$HOME/local/lib/libtcl8.5.so --with-tclinc=$HOME/local/include/tcl.h

It is important that you include the libtcl8.5.so and tcl.h in the switch! Otherwise it will not work! You can proceed as usual on the rest of installation.

Personal tools