Updated 2009-07-25 06:08:25 by LVwikignoming

emukang 2005-04-02

Why install tcl on familiar linux? When I was doing my project, I need to install tcl on a pda to communicate with my pc(using socket). First of all, I tried all possible tcl versions for wince, but all of them have problems in socket. It always pops up an error window--"tcl: select: 10022". I tried tcl version 8.4d, 8.4.4, 8.4.6, and all possible tclkit versions, both on windows mobile 2002 & 2003. Unfortunately, all of them have the same problem. Some one said that it is the problem of celib, not tcl itself. Whatever, if you want to use tcl socket on wince, at least until now, it is not possible.

My pda is Compaq ipaq 3800, a very old pda. First of all, I have to installed Familiar linux 0.8.1, both GPE and Opie are very easy to install (I chose GPE because the terminal is better than Opie). For detail information, please have a look of http://familiar.handhelds.org/ .

Now you have at least 3 choices (beside compile the source code yourself) to install tcl on the linux based pda:

a.Tclkit from http://www.equi4.com/tclkit.html tclkit is the easiest way to install, it is just one file. As its website said, install is just copy, uninstall is just remove. To run tclkit, you need these steps:

1.Install some support ipk packages, such as libgcc1, libstdc++5. You can find these packages from http://ipkgfind.handhelds.org/. When you install them, you could meet an error message of "ldconfig: not found" .To solve it, add these path to your environment.
  export PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/bin/X11:/usr/local/sbin:/usr/local/bin:./:$PATH

2.Download the tclkit for linunx arm version, I tired tclkit-linux-arm852, tclkit-linux-arm849, but both of them pop up an error message(anyone know how to solve this?) of
  Illegal instruction

for tclkit-linux-arm842, it also has error when load Tk package. So my only choice is tclkit-linux-arm841. This version can run without problem, but if you need an Img package(you can get it of either starkit package from http://www.tcl.tk/starkits/, or the compiled package from http://pockettcl.sourceforge.net), then problem is coming again, whatever which one you use, when you load Img package or the single .so file, it pop up an error message of
  Segmentation fault

someone said that it is because the version of tclkit-linux-arm841 has problem when loading Img package.

b.Tcl ipk packages from http://ipkgfind.handhelds.org/ now the version is 8.4.0. it can run without problem, but still has the same problem when loading Img package(it can load the package, but when you want to create a photo, it will still meet error of "Segmentation fault"). Notice that before install Tk ipk package, you need to first install xlibs ipk package, or you will meet the error
  ERROR: Cannot satisfy the following dependencies for tk:
  xlibs (>= 4.0.2)

c.Tcl packages from http://pockettcl.sourceforge.net/ this one can run Img package without any problem, but please notice that the script to load wish8.3 has problems, you can export your lib path directly and then call wish8.3 direclty, such as:
  export LD_LIBRARY_PATH=/home/natlab/temp/lib

Notice that it will meet an error when you try to create png photo, for example:
  % image create photo filepng -format png -file "/home/natlab/file1.png"
  cannot open libpng.so. /usr/lib/libpng.so: undefined symbol: deflate

then you need to install zlib1g and libpng2 ipk packages

Ok, that's some experience I would like to share with you, another tip is that if you want to use terminal to communicate with the pda, run command in the terminal, and display the Tk window on PDA, you need to add this
  export DISPLAY=:0.0