Error processing request

Parameters

CONTENT_LENGTH0
REQUEST_METHODGET
REQUEST_URI/revision/Tclkit+Kitgen+Build+System?V=62
QUERY_STRINGV=62
CONTENT_TYPE
DOCUMENT_URI/revision/Tclkit+Kitgen+Build+System
DOCUMENT_ROOT/var/www/nikit/nikit/nginx/../docroot
SCGI1
SERVER_PROTOCOLHTTP/1.1
HTTPSon
REMOTE_ADDR172.69.7.113
REMOTE_PORT54060
SERVER_PORT4443
SERVER_NAMEwiki.tcl-lang.org
HTTP_HOSTwiki.tcl-lang.org
HTTP_CONNECTIONKeep-Alive
HTTP_ACCEPT_ENCODINGgzip, br
HTTP_X_FORWARDED_FOR3.147.28.202
HTTP_CF_RAY886d492998676168-ORD
HTTP_X_FORWARDED_PROTOhttps
HTTP_CF_VISITOR{"scheme":"https"}
HTTP_ACCEPT*/*
HTTP_USER_AGENTMozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; [email protected])
HTTP_CF_CONNECTING_IP3.147.28.202
HTTP_CDN_LOOPcloudflare
HTTP_CF_IPCOUNTRYUS

Body


Error

Unknow state transition: LINE -> END

-code

1

-level

0

-errorstack

INNER {returnImm {Unknow state transition: LINE -> END} {}} CALL {my render_wikit {Tclkit Kitgen Build System} {The system can generate [Tclkit Lite] executables, Tcl packages,
starkits and starpacks for different operating systems.
Tested are Linux, SunOS, Windows and Irix.
[Tclkit Lite]: http://www.equi4.com/tclkit/tclkitlite.html

Current version uses tcl/tk 8.5.3. and tcl/tk 8.6a1

**Sources**

available from http://sourceforge.net/projects/kbskit

   * kbs.tcl - single source file, all you need

   * *.tgz - prebuilt binaries (IRIX, SunOS, Linux, WindowsNt) containing kit-executables and *.kit files:

   * kbskit*cli* - shell application
   * kbskit*dyn* - tk dynamically linked
   * kbskit*gui* - tk statically linked
   * kbspkg85.kit with:
======
     bwidget-1.8.0 gridplus-2.3 icons-1.2 Img1.3 itcl3.4 itk3.4 iwidgets4.0.2
     Memchan2.2.1 mentry-3.1 ral0.8.7 sqlite3.5.9 tablelist-4.9 tcllib1.10
     tclx8.4 tdom0.8.2 thread2.6.5 tkcon tklib0.4 Tktable2.9 treectrl2.2.3
     trofs0.4.4 udp1.0.8 wcb-3.1 xotcl1.6.0
======
   * tksqlite - starpack of sqlite table editor (version 0.5.6)

**Quick start**

   * Build executables (do not mix 8.5.3 and 8.6!):
  ./kbs.tcl -r install kbskit-8.5
  ./kbs.tcl -r install tksqlite
  ./kbs.tcl -r -builddir=b86 install kbskit-8.6
   * Build kit-files:
  ./kbs.tcl -r install kbspkg-8.5
   * Start graphical user interface:
  ./kbs.tcl gui
   * Create internal documentation in directory ./doc/:
  ./kbs.tcl doc
   * Display online help:
  ./kbs.tcl
 Kitgen Build System (0.2.3 Revision: 1.10 )
 kbs.tcl ?options? mode ?args?
 options:
  -pkgfile=?file?      contain used Package definitions
		       (default is 'sources/kbskit-8.5/kbskit.kbs')
  -builddir=?dir?      build directory, used with [Builddir]
		       (default is './build$tcl_platform(os)')
  -CC=?command?	set configuration variable _(CC)
		       (default is 'gcc' or existing environment variable 'CC')
  -i -ignore	   ignore errors and proceed (default is disabled)
  -r -recursive	recursive Require packages (default is disabled)
  -v -verbose	  display running commands and command output
  --enable-symbols
  --disable-symbols    set configuration variable _(SYMBOLS)
  --enable-64bit
  --disable-64bit      set configuration variable _(64BIT)
  --enable-threads
  --disable-threads    set configuration variable _(THREADS)
  --enable-aqua
  --disable-aqua       set configuration variable _(AQUA)
 mode:
  help		 this text
  version	      return current version
  doc		  create documentation
  gui		  start graphical user interface
  list ?pattern?       list packages matching pattern (default is *)
  require package ..   return call trace of packages
  sources package ..   get package source files (under sources/)
  configure package .. create [Makedir] (in [Builddir]) and configure package
  make package ..      make package (in [Makedir])
  install package ..   install package (in [Builddir])
  test package ..      test package
  clean package ..     remove make targets
  distclean package .. remove [Makedir]
 package is used for glob style matching against available packages
 (Beware, you need to hide the special meaning of * like foo\*)
 
 The following configuration variables can be used:
 _(64BIT)   = --disable-64bit
 _(AQUA)    = --enable-aqua
 _(CC)      = gcc
 _(DIR)     = unix
 _(SHARED)  = --enable-shared
 _(STATIC)  = --disable-shared
 _(SYMBOLS) = --disable-symbols
 _(THREADS) = --enable-threads
 _(TZDATA)  = --with-tzdata
======

**Build requirements**

The following external programs are needed:
   * A C compiler
   * make with handling of VPATH variables (gmake)
   * cvs, svn (not yet used), tar, gzip, unzip to get and extract sources

To build under Windows you need the [msys] system and put the kbs-sources
inside the msys tree (/home/..).

[msys]:   http://sourceforge.net/project/showfiles.php?group_id=10894

**License & support**

This work is under BSD license (see file 'license.terms')

The [Tclkit]-specific sources are license free; they just have a copyright. Hold
the author(s) harmless and any lawful use is permitted.

This does *not* apply to any of the sources of the other major Open Source
Software used in Tclkit, which each have very liberal BSD/MIT-like licenses:
   * [Tcl]/[Tk], [TclVFS], [Thread], [Vlerq], [Zlib]

The extensions used each have their own licenses. Please see their sources.

**Acknowledgements**

This work is based on the [Kitgen] system (http://www.equi4.com/tclkit/kitgen.html)
and ideas and code about a kitgen build system by Jean-Claude Wippler.

With thanks to John Ousterhout for creating Tcl/Tk, Matt Newman and Vince Darley
for developing the virtual file system, and the members of the Tcl Core Team for
diligently maintaining and taking forward the Tcl/Tk code base plus extensions.

----
**Questions**
[LV] 2007 June 22

In my resultSunOS/bin directory, I see the following:
 tclkit8.5-cli  tclkit8.5-dyn  tclkit8.5-gui

So, what are the differences between these three "[tclkit]"s ...

[RZ] This is because of [kitgen] and its sources from [jcw] and according to [http://www.equi4.com/tclkit/kitgen.html]

   * tclkit-cli - a tclsh-like console app - [Tk] and related GUI packages are not built in.
   * tclkit-dyn - wish-like, after a '''package require Tk'''. Without the package require, at least on Unix, no GUI aspects appear.
   * tclkit-gui - same as "tclkit-dyn", but with Tk linked-in statically

I even tried a minimal tclkitsh but did not really finish the kbs.tcl build process code to do that.

[LV] "and, are they ''literally'' tclkits - that is, have the identical packages as the executables found at the tclkit home site, or are they interpretors
that are similar to tclkits?"

[LV] 2007 July 09
 $ tclkit8.5 # mine is Tcl 8.5a4
 % package require Tcl 8.5
 % package require lwv
 % puts [lsort -nocase [package names]]
 http Itcl Mk4tcl mk4vfs msgcat opt platform pwb rechan scripdoc starkit Tcl tcltest Tk vfs vfs::mk4 vfs::zip vfslib zipvfs zlib

 $ kbskit
 % package require Tcl 8.5
 % package require lwv
 % puts [lsort -nocase [package names]]
 http mk4vfs mklite msgcat opt platform rechan starkit Tcl tcl::tommath tcltest Thread Tk Ttrace vfs vfs::m2m vfs::mk4 vfs::mkcl vfs::zip vfslib vlerq zlib

So, to the "are they literally tclkits" question. the answer is no.
Here's the differences I see:

	Tclkit 8.5      Tclkit-lite 8.4.15      Kbskit 8.5
	dde	     dde (on Windows)	(I don't know)
	http	    http		    http
	Itcl	    Itcl		    N/A
	Mk4tcl	  N/A		     N/A
	mk4vfs	  mk4vfs		  mk4vfs
						mklite
	msgcat	  msgcat		  msgcat
	opt	     opt		     opt
	platform				platform
	pwb	     pwb		     N/A
	rechan				  rechan
	registry	registry (on Windows)   (I don't know)
	scripdoc				N/A
	starkit	 starkit		 starkit
	Tcl	     Tcl		     Tcl
						tcl::tommath
	tcltest	 tcltest		 tcltest
						Thread
	(I don't know)  thrill (on Windows)     (I don't know)
	(I don't know)  thrive (on Windows)     (I don't know)
	Tk	      Tk		      Tk
						Ttrace
	vfs	     vfs		     vfs
						vfs::m2m
	vfs::mk4	vfs::mk4		vfs::mk4
	(I don't know)  vfs::mkcl	       vfs::mkcl
	vfs::zip	vfs::zip		vfs::zip
	vfslib	  vfslib		  vfslib
						vlerq
	zipvfs	  zipvfs		  N/A
	zlib	    zlib		    zlib


Notice that one of the ramifications of this is that [Itcl] , [Mk4tcl], [pwb], [scripdoc], and [zipvfs] are not available in the interpreter created.

Per the [tclkit] creator's wishes, please use a different name, such as '''kbskit''', so as not to confuse applications.

[RZ] Ok, the executables now start with "kbskit" and the package kit file with "kbspkg".

[LV] I have a question for you.  When I run kbs.tcl -r install kbskit-8.5,
the resulting kbskit-gui that is created knows about the following package
names:

   * http
   * mk4vfs
   * mklite
   * msgcat
   * opt
   * platform
   * rechan
   * starkit
   * Tcl
   * tcl::tommath
   * tcltest
   * Thread
   * Tk
   * Ttrace
   * vfs
   * vfs::m2m
   * vfs::mk4
   * vfs::mkcl
   * vfs::zip
   * vfslib
   * vlerq
   * zlib

I'm not certain how the "kbspkg" relates to this kbskit.

[RZ] 'kbskit*' are the executable tclkit's. The packages inside are necessary for the tclkit interpreter.
'kbspkg85.kit' is a kit file containing other extensions. It can be sourced by the 'kbskit*' interpreter.
----
For additional information please use the following links:
   * [kbs packages] how to use, change, update and even include own extensions
   * [kbs todo] open issues
   * [kbs bugs and comments] you can also use the tracker under http://sourceforge.net/projects/kbskit/
----
MSH 19 Feb 2008 I have been keeping an eye on the http://www.equi4.com/pub/tk/downloads.html  page for a final 8.5.0 or 8.5.1 starkit executable but no one seems to be maintaining that page anymore.  Is the kitgen the only way to go now as I do not have access to a compiler so that makes things very difficult. If anyone has 8.5.1 starkit executables for windows/linux/sun anywhere accessible I would be grateful.

See http://www.patthoyts.tk/tclkit.html
----
[LV] Feb 29, 2008

Is there a way to build kbskit so that it includes Itcl? When I look
at what packages come in tclkit, that is the major piece missing (also
missing are Mk4tcl - but that's gone because this is a tclkit-lite,
right? [RZ] yes, and it is the reason we do not need a C++ compiler any more),
pwb, scripdoc (and I think that one is just a backwards
compatibility with old code), and zipvfs (anyone know what that one is?).

[RZ] Before adding Itcl I would ask if it is also OK to put itcl/itk/iwidgets
in kbspkg*.kit? Until now I have added the necessary build entries in the
HEAD version of kbspkg.kbs. You could build everything with:
 rm -rf sources/kbskit-8.5
 kbs.tcl -r install iwidgets\*

[LV] I would see no problem putting itk and iwidgets in kbspkg. But the point
of putting itcl in kbskit is to run existing starkits. To move itcl into
kbspkg would mean that the starkit would have to be modified ...
----
!!!!!!
%|[Category Tclkit] | [Category Deployment] | [Category Development]|%
!!!!!!} regexp2} CALL {my render {Tclkit Kitgen Build System} {The system can generate [Tclkit Lite] executables, Tcl packages,
starkits and starpacks for different operating systems.
Tested are Linux, SunOS, Windows and Irix.
[Tclkit Lite]: http://www.equi4.com/tclkit/tclkitlite.html

Current version uses tcl/tk 8.5.3. and tcl/tk 8.6a1

**Sources**

available from http://sourceforge.net/projects/kbskit

   * kbs.tcl - single source file, all you need

   * *.tgz - prebuilt binaries (IRIX, SunOS, Linux, WindowsNt) containing kit-executables and *.kit files:

   * kbskit*cli* - shell application
   * kbskit*dyn* - tk dynamically linked
   * kbskit*gui* - tk statically linked
   * kbspkg85.kit with:
======
     bwidget-1.8.0 gridplus-2.3 icons-1.2 Img1.3 itcl3.4 itk3.4 iwidgets4.0.2
     Memchan2.2.1 mentry-3.1 ral0.8.7 sqlite3.5.9 tablelist-4.9 tcllib1.10
     tclx8.4 tdom0.8.2 thread2.6.5 tkcon tklib0.4 Tktable2.9 treectrl2.2.3
     trofs0.4.4 udp1.0.8 wcb-3.1 xotcl1.6.0
======
   * tksqlite - starpack of sqlite table editor (version 0.5.6)

**Quick start**

   * Build executables (do not mix 8.5.3 and 8.6!):
  ./kbs.tcl -r install kbskit-8.5
  ./kbs.tcl -r install tksqlite
  ./kbs.tcl -r -builddir=b86 install kbskit-8.6
   * Build kit-files:
  ./kbs.tcl -r install kbspkg-8.5
   * Start graphical user interface:
  ./kbs.tcl gui
   * Create internal documentation in directory ./doc/:
  ./kbs.tcl doc
   * Display online help:
  ./kbs.tcl
 Kitgen Build System (0.2.3 Revision: 1.10 )
 kbs.tcl ?options? mode ?args?
 options:
  -pkgfile=?file?      contain used Package definitions
		       (default is 'sources/kbskit-8.5/kbskit.kbs')
  -builddir=?dir?      build directory, used with [Builddir]
		       (default is './build$tcl_platform(os)')
  -CC=?command?	set configuration variable _(CC)
		       (default is 'gcc' or existing environment variable 'CC')
  -i -ignore	   ignore errors and proceed (default is disabled)
  -r -recursive	recursive Require packages (default is disabled)
  -v -verbose	  display running commands and command output
  --enable-symbols
  --disable-symbols    set configuration variable _(SYMBOLS)
  --enable-64bit
  --disable-64bit      set configuration variable _(64BIT)
  --enable-threads
  --disable-threads    set configuration variable _(THREADS)
  --enable-aqua
  --disable-aqua       set configuration variable _(AQUA)
 mode:
  help		 this text
  version	      return current version
  doc		  create documentation
  gui		  start graphical user interface
  list ?pattern?       list packages matching pattern (default is *)
  require package ..   return call trace of packages
  sources package ..   get package source files (under sources/)
  configure package .. create [Makedir] (in [Builddir]) and configure package
  make package ..      make package (in [Makedir])
  install package ..   install package (in [Builddir])
  test package ..      test package
  clean package ..     remove make targets
  distclean package .. remove [Makedir]
 package is used for glob style matching against available packages
 (Beware, you need to hide the special meaning of * like foo\*)
 
 The following configuration variables can be used:
 _(64BIT)   = --disable-64bit
 _(AQUA)    = --enable-aqua
 _(CC)      = gcc
 _(DIR)     = unix
 _(SHARED)  = --enable-shared
 _(STATIC)  = --disable-shared
 _(SYMBOLS) = --disable-symbols
 _(THREADS) = --enable-threads
 _(TZDATA)  = --with-tzdata
======

**Build requirements**

The following external programs are needed:
   * A C compiler
   * make with handling of VPATH variables (gmake)
   * cvs, svn (not yet used), tar, gzip, unzip to get and extract sources

To build under Windows you need the [msys] system and put the kbs-sources
inside the msys tree (/home/..).

[msys]:   http://sourceforge.net/project/showfiles.php?group_id=10894

**License & support**

This work is under BSD license (see file 'license.terms')

The [Tclkit]-specific sources are license free; they just have a copyright. Hold
the author(s) harmless and any lawful use is permitted.

This does *not* apply to any of the sources of the other major Open Source
Software used in Tclkit, which each have very liberal BSD/MIT-like licenses:
   * [Tcl]/[Tk], [TclVFS], [Thread], [Vlerq], [Zlib]

The extensions used each have their own licenses. Please see their sources.

**Acknowledgements**

This work is based on the [Kitgen] system (http://www.equi4.com/tclkit/kitgen.html)
and ideas and code about a kitgen build system by Jean-Claude Wippler.

With thanks to John Ousterhout for creating Tcl/Tk, Matt Newman and Vince Darley
for developing the virtual file system, and the members of the Tcl Core Team for
diligently maintaining and taking forward the Tcl/Tk code base plus extensions.

----
**Questions**
[LV] 2007 June 22

In my resultSunOS/bin directory, I see the following:
 tclkit8.5-cli  tclkit8.5-dyn  tclkit8.5-gui

So, what are the differences between these three "[tclkit]"s ...

[RZ] This is because of [kitgen] and its sources from [jcw] and according to [http://www.equi4.com/tclkit/kitgen.html]

   * tclkit-cli - a tclsh-like console app - [Tk] and related GUI packages are not built in.
   * tclkit-dyn - wish-like, after a '''package require Tk'''. Without the package require, at least on Unix, no GUI aspects appear.
   * tclkit-gui - same as "tclkit-dyn", but with Tk linked-in statically

I even tried a minimal tclkitsh but did not really finish the kbs.tcl build process code to do that.

[LV] "and, are they ''literally'' tclkits - that is, have the identical packages as the executables found at the tclkit home site, or are they interpretors
that are similar to tclkits?"

[LV] 2007 July 09
 $ tclkit8.5 # mine is Tcl 8.5a4
 % package require Tcl 8.5
 % package require lwv
 % puts [lsort -nocase [package names]]
 http Itcl Mk4tcl mk4vfs msgcat opt platform pwb rechan scripdoc starkit Tcl tcltest Tk vfs vfs::mk4 vfs::zip vfslib zipvfs zlib

 $ kbskit
 % package require Tcl 8.5
 % package require lwv
 % puts [lsort -nocase [package names]]
 http mk4vfs mklite msgcat opt platform rechan starkit Tcl tcl::tommath tcltest Thread Tk Ttrace vfs vfs::m2m vfs::mk4 vfs::mkcl vfs::zip vfslib vlerq zlib

So, to the "are they literally tclkits" question. the answer is no.
Here's the differences I see:

	Tclkit 8.5      Tclkit-lite 8.4.15      Kbskit 8.5
	dde	     dde (on Windows)	(I don't know)
	http	    http		    http
	Itcl	    Itcl		    N/A
	Mk4tcl	  N/A		     N/A
	mk4vfs	  mk4vfs		  mk4vfs
						mklite
	msgcat	  msgcat		  msgcat
	opt	     opt		     opt
	platform				platform
	pwb	     pwb		     N/A
	rechan				  rechan
	registry	registry (on Windows)   (I don't know)
	scripdoc				N/A
	starkit	 starkit		 starkit
	Tcl	     Tcl		     Tcl
						tcl::tommath
	tcltest	 tcltest		 tcltest
						Thread
	(I don't know)  thrill (on Windows)     (I don't know)
	(I don't know)  thrive (on Windows)     (I don't know)
	Tk	      Tk		      Tk
						Ttrace
	vfs	     vfs		     vfs
						vfs::m2m
	vfs::mk4	vfs::mk4		vfs::mk4
	(I don't know)  vfs::mkcl	       vfs::mkcl
	vfs::zip	vfs::zip		vfs::zip
	vfslib	  vfslib		  vfslib
						vlerq
	zipvfs	  zipvfs		  N/A
	zlib	    zlib		    zlib


Notice that one of the ramifications of this is that [Itcl] , [Mk4tcl], [pwb], [scripdoc], and [zipvfs] are not available in the interpreter created.

Per the [tclkit] creator's wishes, please use a different name, such as '''kbskit''', so as not to confuse applications.

[RZ] Ok, the executables now start with "kbskit" and the package kit file with "kbspkg".

[LV] I have a question for you.  When I run kbs.tcl -r install kbskit-8.5,
the resulting kbskit-gui that is created knows about the following package
names:

   * http
   * mk4vfs
   * mklite
   * msgcat
   * opt
   * platform
   * rechan
   * starkit
   * Tcl
   * tcl::tommath
   * tcltest
   * Thread
   * Tk
   * Ttrace
   * vfs
   * vfs::m2m
   * vfs::mk4
   * vfs::mkcl
   * vfs::zip
   * vfslib
   * vlerq
   * zlib

I'm not certain how the "kbspkg" relates to this kbskit.

[RZ] 'kbskit*' are the executable tclkit's. The packages inside are necessary for the tclkit interpreter.
'kbspkg85.kit' is a kit file containing other extensions. It can be sourced by the 'kbskit*' interpreter.
----
For additional information please use the following links:
   * [kbs packages] how to use, change, update and even include own extensions
   * [kbs todo] open issues
   * [kbs bugs and comments] you can also use the tracker under http://sourceforge.net/projects/kbskit/
----
MSH 19 Feb 2008 I have been keeping an eye on the http://www.equi4.com/pub/tk/downloads.html  page for a final 8.5.0 or 8.5.1 starkit executable but no one seems to be maintaining that page anymore.  Is the kitgen the only way to go now as I do not have access to a compiler so that makes things very difficult. If anyone has 8.5.1 starkit executables for windows/linux/sun anywhere accessible I would be grateful.

See http://www.patthoyts.tk/tclkit.html
----
[LV] Feb 29, 2008

Is there a way to build kbskit so that it includes Itcl? When I look
at what packages come in tclkit, that is the major piece missing (also
missing are Mk4tcl - but that's gone because this is a tclkit-lite,
right? [RZ] yes, and it is the reason we do not need a C++ compiler any more),
pwb, scripdoc (and I think that one is just a backwards
compatibility with old code), and zipvfs (anyone know what that one is?).

[RZ] Before adding Itcl I would ask if it is also OK to put itcl/itk/iwidgets
in kbspkg*.kit? Until now I have added the necessary build entries in the
HEAD version of kbspkg.kbs. You could build everything with:
 rm -rf sources/kbskit-8.5
 kbs.tcl -r install iwidgets\*

[LV] I would see no problem putting itk and iwidgets in kbspkg. But the point
of putting itcl in kbskit is to run existing starkits. To move itcl into
kbspkg would mean that the starkit would have to be modified ...
----
!!!!!!
%|[Category Tclkit] | [Category Deployment] | [Category Development]|%
!!!!!!}} CALL {my revision {Tclkit Kitgen Build System}} CALL {::oo::Obj242826 process revision/Tclkit+Kitgen+Build+System} CALL {::oo::Obj242824 process}

-errorcode

NONE

-errorinfo

Unknow state transition: LINE -> END
    while executing
"error $msg"
    (class "::Wiki" method "render_wikit" line 6)
    invoked from within
"my render_$default_markup $N $C $mkup_rendering_engine"
    (class "::Wiki" method "render" line 8)
    invoked from within
"my render $name $C"
    (class "::Wiki" method "revision" line 31)
    invoked from within
"my revision $page"
    (class "::Wiki" method "process" line 56)
    invoked from within
"$server process [string trim $uri /]"

-errorline

4