Tcl/Tk

From CLONWiki
Revision as of 14:09, 1 January 2009 by Boiarino (talk | contribs)
Jump to navigation Jump to search

Basic Tcl/Tk must be installed to satisfy CODA references. Following packages were downloaded to /usr/local/downloads from the web:

tcl8.4.13
tk8.4.13
tix-8.4.0
<<< DO NOT DO IT !!! expect-5.43 >>>
blt2.4z
itcl
itk
<<< DO NOT DO IT !!! tcl-dp >>>

Installation instructions:

  • tcl
cd /usr/local/src/tcl8.4.13/unix
./configure --prefix=/usr --enable-shared
gmake
gmake install
  • tk
cd /usr/local/src/tk8.4.13/unix
./configure --prefix=/usr --enable-shared
gmake
gmake install
  • tix

cd /usr/local/src/tix-8.4.0

In file Makefile.in:

1. Replace 'pkglibdir' by 'libdir' in 4 places in following fragment:

install-lib-binaries:
       @mkdir -p $(DESTDIR)$(pkglibdir)
       @list='$(lib_BINARIES)'; for p in $$list; do \
         if test -f $$p; then \
           echo " $(INSTALL_PROGRAM) $$p $(DESTDIR)$(libdir)/$$p"; \
           $(INSTALL_PROGRAM) $$p $(DESTDIR)$(libdir)/$$p; \
           echo " $(RANLIB) $(DESTDIR)$(libdir)/$$p"; \
           $(RANLIB) $(DESTDIR)$(libdir)/$$p; \
           ....................................

to enforce libTix8.4.so installation into ${exec_prefix}/lib/, not into ${exec_prefix}/lib/Tix8.4/

2. Add following fragment to enforce 'tixwish' building:

WISH_OBJS = tixAppInit.o
tixwish: $(WISH_OBJS) $(PKG_LIB_FILE)
       ${CC} ${CFLAGS} ${LDFLAGS} $(WISH_OBJS) -L./ -lTix8.4 -ltk8.4 -ltcl8.4 \
               $(CC_SEARCH_FLAGS) -o tixwish

3. Add 'tixwish' target to the following line:

binaries: $(BINARIES) pkgIndex.tcl tixwish


4. Add 'tixwish' line in following fragment:

install-binaries: binaries install-lib-binaries install-bin-binaries
       @mkdir -p $(DESTDIR)$(pkglibdir)
       $(INSTALL_DATA) pkgIndex.tcl $(DESTDIR)$(pkglibdir)
       $(INSTALL_PROGRAM) tixwish $(DESTDIR)$(bindir)
       ...........................................
./configure --prefix=/usr --enable-shared
gmake
gmake install

<<< DO NOT DO IT !!! * expect

cd /usr/local/src/expect-5.43
./configure --prefix=/usr --with-tcl=/usr/lib --with-tclinclude=/usr/local/src/tcl8.4.13/generic --enable-shared
gmake
gmake install
  • blt
cd /usr/local/src/blt2.4z
./configure \--with-tcl=/usr/local/src/tcl8.4.13/unix \
  --with-tk=/usr/local/src/tk8.4.13/unix \
  --with-tclincls=/usr/local/src/tcl8.4.13/generic \
  --with-tkincls=/usr/local/src/tk8.4.13/generic \
  --prefix=/usr
gmake
gmake install


  • symbolic links
cd /usr/bin
ln -s wish8.4 wish
  • itcl
cd itcl3.3
./configure --with-tcl=/usr/local/src/tcl8.4.13/unix --prefix=/usr 
gmake
gmake install
#test
clon10:itcl3.3> /usr/bin/tclsh8.4 
% package require Itcl
3.3
% exit
  • itk
cd itk3.3
./configure --with-tcl=/usr/local/src/tcl8.4.13/unix \
 --with-tk=/usr/local/src/tk8.4.13/unix \
 --with-itcl=/usr/local/src/itcl3.3 \
 --prefix=/usr
gmake
gmake install
#test
clon10:src> /usr/bin/tclsh8.4
% package require Itk
3.3
% exit

<<< DO NOT DO IT !!! * tcl-dp

cd /usr/local/src/tcl-dp.4.0.b2/unix
./configure --with-tcl=/usr/local/src/tcl8.4.13/unix --prefix=/usr
in generic/dpInit.c:

/*sergey

   if (TclHasSockets(interp) != TCL_OK) {

return TCL_ERROR;

   }

*/

gmake
###gmake tests
cd ..
/usr/bin/wish teki.tcl
###'File | Install'.  Select dp.tek, click 'Open', select 'Custom',
choose 'Solaris' (or whatever), root directory for code files '/usr/lib/tcl8.4'
cd /usr/lib/tcl8.4/dp4.0/library/
chmod 755 *
All DP scripts
should have "package require dp" as their first line which will
automatically load the DP module if it has not been loaded already.
#test
/usr/bin/tclsh8.4
%  package require dp
4.0
% exit