Summary edit
Kitgen Build System can generate Tclkit and Tclkit Lite executables and Tcl packages for different operating systems. Tested are Linux, SunOS, Windows and Irix. Darwin binaries are provided by Christian Gollwitzer.Current version 0.4.9 uses tcl/tk 8.6.6See Also edit
- 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/
- kbs discussion
- for discussion of further development
- kbs examples
- for command line examples of different builds
- Tclkit and Tclkit Lite
- http://www.equi4.com/tclkit/tclkitlite.html
Obtaining edit
sources and binaries are available at sourceforge.net- kbs.tcl
- single source file, all you need
- kbsmk*cli*
- shell application
- kbsmk*dyn*
- tk dynamic loadable
- kbsmk*gui*
- tk static inserted
- kbsvq*cli*
- shell application
- kbsvq*dyn*
- tk dynamic loadable
- kbsvq*gui*
- tk static inserted
- kbsvq*bi
bwidget1.9.10 gridplus2.11 icons1.2 img1.4.6 memchan2.3 mentry3.7 nsf2.0.0 pdf4tcl0.8.4 ral0.11.7 rbc0.1 tablelist5.16 tcllib1.18 tclx8.4 tdom0.8.3 thread2.7.2 tkcon tkdnd2.8 tklib0.6 tkpath0.3.3 tktable2.10 treectrl2.4.1 trofs0.4.9 udp1.0.11 ukaz0.2 vectcl0.2 vectcltk0.2 wcb3.5 xotcl1.6.8Sqlite table editor:
*_tksqlite
Quick start edit
Get the script:wget -O kbs.tcl http://sourceforge.net/projects/kbskit/files/kbs/0.4.9/kbs.tcl/downloador the following on OS X (where 'wget' is a link to 'curl') *Note MAC OSX you will need to install wget and cvs separately.
curl -o kbs.tcl -L http://sourceforge.net/projects/kbskit/files/kbs/0.4.9/kbs.tcl/downloadmake it executable:
chmod a+x kbs.tclBuild Tclkit executables:
./kbs.tcl -r -mk install kbskit8.5Build Tclkit Lite executables:
./kbs.tcl -r -vq install kbskit8.5Build user defined batteries included tclkit lite executables:
./kbs.tcl -r -vq-bi -bi=".." install kbskit8.5Build kit-file:
./kbs.tcl -r install kbspkg8.5Start graphical user interface:
./kbs.tcl guiDisplay online help:
./kbs.tcl Kitgen build system (0.4.9) Usage: kbs.tcl ?options? command ?args? options (configuration variables are available with [Get ..]): -pkgfile=?file? contain used Package definitions (default is empty and use only internal definitions) -builddir=?dir? set used building directory containing all package specific 'makedir' (default is './build$tcl_platform(os)') -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 -CC=?command? set configuration variable 'CC' (default is 'gcc' or existing environment variable 'CC') -bi=?package ..? set configuration variable 'bi' (default is '') to list of packages for use in batteries included builds --enable-* --disable-* set configuration variable '-*' Used external programs (default values are found with 'auto_execok'): -make=?command? set configuration variable 'exec-make' (default is first found 'gmake' or 'make') -cvs=?command? set configuration variable 'exec-cvs' (default is 'cvs') -svn=?command? set configuration variable 'exec-svn' (default is 'svn') -tar=?command? set configuration variable 'exec-tar' (default is 'tar') -gzip=?command? set configuration variable 'exec-gzip' (default is 'gzip') -bzip2=?command? set configuration variable 'exec-bzip2' (default is 'bzip2') -git=?command? set configuration variable 'exec-git' (default is 'git') -unzip=?command? set configuration variable 'exec-unzip' (default is 'unzip') -wget=?command? set configuration variable 'exec-wget' (default is 'wget') -doxygen=?command? set configuration variable 'exec-doxygen' (default is 'doxygen') you need at least version 1.7.5 Used interpreter in package scripts (default first found in '/home/rene/kbs.sf/buildLinux/bin') -kitcli=?command? set configuration variable 'kitcli' (default 'kbs*cli*') -kitdyn=?command? set configuration variable 'kitdyn' (default 'kbs*dyn*') -kitgui=?command? set configuration variable 'kitgui' (default 'kbs*gui*') Mk4tcl based 'tclkit' interpreter build options: -mk add 'mk-cli|dyn|gui' to variable 'kit' -mk-cli add 'mk-cli' to variable 'kit' -mk-dyn add 'mk-dyn' to variable 'kit' -mk-gui add 'mk-gui' to variable 'kit' -mk-bi add 'mk-bi' to variable 'kit' -staticstdcpp build with static libstdc++ Vqtcl based 'tclkit lite' interpreter build options: -vq add 'vq-cli|dyn|gui' to variable 'kit' -vq-cli add 'vq-cli' to variable 'kit' -vq-dyn add 'vq-dyn' to variable 'kit' -vq-gui add 'vq-gui' to variable 'kit' -vq-bi add 'vq-bi' to variable 'kit' If no interpreter option is given '-vq' will be asumed. additional variables for use with [Get ..]): application name of application including version number builddir common build dir (can be set with -builddir=..) makedir package specific dir under 'builddir' srcdir package specific source dir under './sources/' builddir-sys makedir-sys srcdir-sys system specific version (p.e. windows C:\.. -> /..) sys TEA specific platform subdir (win, unix) TCL* TCL* variables from tclConfig.sh, loaded on demand TK* TK* variables from tkConfig.sh, loaded on demand command: help this text doc create program documentation (./doc/kbs.html) license display license information config display used values of configuration variables gui start graphical user interface list ?pattern? .. list packages matching pattern (default is *) Trailing words print these parts of the definition too. require pkg .. return call trace of packages sources pkg .. get package source files (under sources/) configure pkg .. create 'makedir' (in 'builddir') and configure package make pkg .. make package (in 'makedir') install pkg .. install package (in 'builddir') test pkg .. test package clean pkg .. remove make targets distclean pkg .. remove 'makedir' 'pkg' is used for glob style matching against available packages (Beware, you need to hide the special meaning of * like foo\*) Startup configuration: Read files '$(HOME)/.kbsrc' and './kbsrc'. Lines starting with '#' are treated as comments and removed. All other lines are concatenated and used as command line arguments. Read environment variable 'KBSRC'. The contents of this variable is used as command line arguments. The following external programs are needed: * C-compiler, C++ compiler for metakit based programs (see -CC=) * make with handling of VPATH variables (gmake) (see -make=) * cvs, svn, tar, gzip, unzip, wget to get and extract sources (see -cvs= -svn= -tar= -gzip= -unzip= -wget= options)
Build Requirements edit
The following external programs are needed:- A C compiler
- make with handling of VPATH variables (gmake aka GNU make)
- wget, cvs, svn, bzip2, git, tar, gzip, unzip to get and extract sources
- mingw: https://sourceforge.net/projects/mingw-w64/files/Toolchains%20targetting%20Win32/Personal%20Builds/mingw-builds/5.3.0/threads-win32/sjlj/i686-5.3.0-release-win32-sjlj-rt_v4-rev0.7z
- msys: https://sourceforge.net/projects/mingwbuilds/files/external-binary-packages/msys+7za+wget+svn+git+mercurial+cvs-rev13.7z
License & support edit
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:The extensions used each have their own licenses. Please see their sources.Acknowledgements edit
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 edit
LV 2007-06-22In my resultSunOS/bin directory, I see the following:- tclkit8.5-cli
- tclkit8.5-dyn
- tclkit8.5-gui
- 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
$ 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 zlibSo, to the "are they literally tclkits" question. the answer is no. Here's the differences I see:[to be added - the versions of the packages one finds in these options]
Tclkit 8.5 | Tclkit-lite 8.4.15 | Kbs (version 0.3) | kbs (latest version, building 8.6 with metakit) |
---|---|---|---|
dde | dde (on Windows) | dde (on Windows) | ??? |
N/A | N/A | N/A | fileutil::globfind |
http | http | http | http |
Itcl | Itcl | itcl3.4 in kbsmk8.5* | itcl and Itcl 4.0 in kbsmk8.6* |
Mk4tcl | N/A | in kbsmk* | in kbsmk |
mk4vfs | mk4vfs | mk4vfs | N/A |
N/A | N/A | mklite | N/A |
msgcat | msgcat | msgcat | msgcat |
opt | opt | opt | opt |
platform | N/A | platform | platform |
pwb | pwb | N/A | N/A |
rechan | N/A | rechan | N/A |
registry | registry (on Windows) | registry (on Windows) | unknown |
scripdoc | N/A | N/A | N/A |
starkit | starkit | starkit | starkit |
Tcl | Tcl | Tcl | Tcl |
tcl::tommath | tcl::tommath | ||
unknown | unknown | unknown | tclkitpath |
N/A | N/A | N/A | TclOO |
tcltest | tcltest | tcltest | |
Thread | Thread | ||
(I don't know) | thrill (on Windows) | (I don't know) | unknown |
(I don't know) | thrive (on Windows) | (I don't know) | unknoqn |
N/A | N/A | N/A | tile |
Tk | Tk | Tk | Tk |
N/A | N/A | N/A | trsync |
N/A | N/A | N/A | Ttk |
N/A | N/A | N/A | ttk::theme::alt |
N/A | N/A | N/A | ttk::theme::clam |
N/A | N/A | N/A | ttk::theme::classic |
N/A | N/A | N/A | ttk::theme::default |
unknown | unknown | Ttrace | Ttrace |
vfs | vfs | vfs | vfs |
N/A | N/A | N/A | vfs::ftp |
N/A | N/A | N/A | vfs::http |
vfs::m2m | N/A | ||
vfs::mk4 | vfs::mk4 | vfs::mk4 | vfs::mk4 |
(I don't know) | vfs::mkcl | vfs::mkcl | |
N/A | N/A | N/A | vfs::ns |
N/A | N/A | N/A | vfs::tar |
N/A | N/A | N/A | vfs::quota |
N/A | N/A | N/A | vfs::template::version |
N/A | N/A | N/A | vfs::template::version::delta |
N/A | N/A | N/A | vfs::test |
N/A | N/A | N/A | vfs::tk |
N/A | N/A | N/A | vfs::urltype |
N/A | N/A | N/A | vfs::webdav |
vfs::zip | vfs::zip | vfs::zip | |
vfslib | vfslib | vfslib | |
vlerq | N/A | ||
zipvfs | zipvfs | N/A | N/A |
zlib | zlib | zlib | N/A |
- 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
LV 2008-02-28: 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 ...
LV: 2009-03-27Is there a way to provide a path to a usable tclsh to kbs.tcl so that it doesn't have to create a tclsh before beginning the configuration, etc.?RZ: Because it is a tcl script you can do p.e.
wish8.5 kbs.tcl ...Yes, you need at least 8.5 because of {*}! And the first invocation without this starts the compile.Or you change the first line of 'kbs.tcl' to
#! /path/to/your/wish8.5And you need 'sources/kbskit*/' for the standard kbskit.kbs or you always use your own with -pkgfile=<path/to/your/kbsfile>
LV 2009-04-20: Just a note for other Solaris users. In the above page, there is a requirement that the build process requires GNU make. If you encounter a case where the build fails saying "no input files", that means that your $PATH is set in such a way that you are getting /usr/ccs/bin/make instead of the GNU make.
LV 2009-May-07: I am wondering about the line
./kbs.tcl -r -vqi-bi -bi=".." install kbskit8.5mentioned above. The -vq part of -vqi-bi, I presume, means the tclkit lite, and the -bi means batteries included. Is that really all one string, without spaces, etc.? Is the -bi=".." a literal string to provide or is there supposed to be actual text between the quotation marks?2009-May-08: looks to me as it is a typo above - kbs.tcl says there is a -vq-bi flag. Also, if I type in the corrected line literally, there is an error saying that package .. could not be found. So, it looks like to me that the command line should be
./kbs.tcl -r -vq-bi -bi="BWidget" install kbskit8.5where BWidget would be replaced by the name of the package to be bundled in.rgf: I think 'bi' is a configuration variable that can be preset with a list of packages, or the list can be supplied instead of the '..'. Try
./kbs.tcl helpfor the details.
One thing that would be useful to add to this page would be a series of links to tools that kbs.tcl requires to work. For instance, it requires a cvs command, some sort of C compiler, some sort of shell command. What other tools are needed?RZ: see above under Build requirements.
anoved: I've written a brief article about my good experience with kbs on Mac OS X: http://anoved.net/2010/01/kitgen-build-system-for-tcltk/jcw 2010-01-14: What OS version are you using? On 10.6 (Snow Leopard), I get fatal errors in tkMacOSXBitmap.c such as "‘CIconHandle’ undeclared".anoved: 10.6.2, so I'm not sure what the discrepancy is between our experiences. How recently did you retrieve kbs.tcl or the code it downloads?jcw: Just now, to make sure. I can't explain the difference. Odd.
JOB: On Mac OSX 10.6.4 (Leo): to get rid of those various tkMacOSXBitmap.c compilation errors you need to download the tk8.5.9-decarbon.tar.gz source from GIT-HUB (https://github.com/das/tcltk) file repository. The cocoa port is maintained by Daniel A. Steffen out there. Once this is done, use the --enable-aqua option compile and you are fine!
CliC 2010-12-25: Any reason the prebuilt tclkits on the SF site for Windows NT don't include Tcl 8.6, whereas the ones for Unix-y platforms do? Does kbskit have problems building Tcl 8.6 on Windows, or is it just that no one has tried it or posted the results on this site? If it's the latter, I'll give it a shot -- thanks.RZ: Tcl 8.6 needs a newer msys/mingw version. I have to upgrade first.jcw 2011-04-10: The www.equi4.com site for sdx and zlib is now a redirect to equi4.com, to make kbs.tcl work again I had to remove the "www" prefix in two places in the script.
[BJ] 2012-02-28 09:52:43: has anybody had any luck with building with kbs.tcl using mingw cross compile environment on linux? I have always been reasonably succuessful building things with mingw, but I am really struggling on windows 7. Problems seem to be mostly related to symlinks not working properly.RZ: Cross compiling is on my todo list. But which problems do you have? I have build the latest windows binaries under windows 7. Please install the msys/mingw mentioned under Build requirements
RZ: hi DcK the classic GNU compile utilities, like autoconf automake are not used inside kbs.
AMG: Using WindowsNT_kbsmk8.6-dyn.exe or WindowsNT_kbsvq8.6-dyn.exe downloaded from Sourceforge, I get these errors whenever I try to load SQLite:
% package require sqlite3 error reading package index file C:/Documents and Settings/td26063/My Documents/Invincea Downloads/WindowsNT_kbsvq8.6-gui.exe/lib/dde1.4/pkgIndex.tcl: package not known error reading package index file C:/Documents and Settings/td26063/My Documents/Invincea Downloads/WindowsNT_kbsvq8.6-gui.exe/lib/reg1.3/pkgIndex.tcl: package not known error reading package index file C:/Documents and Settings/td26063/My Documents/Invincea Downloads/WindowsNT_kbsvq8.6-gui.exe/lib/thread2.7b1/pkgIndex.tcl: package not knownSQLite does load successfully; it's just a package manager gripe about other broken packages. Also, these errors only happen for *-dyn.exe, not *-gui.exe. However, when loading an invalid package, these errors happen in all four binaries, followed by "can't find package foobar" or whatever.Here's what happens when I try to load DDE:
% package require dde (same errors as before) can't find package dde % load "C:/Documents and Settings/td26063/My Documents/Invincea Downloads/WindowsNT_kbsvq8.6-gui.exe/lib/dde1.4/tcldde14.dll" cannot find symbol "Tcldde_Init"RZ: This is because of a problem in the tcl::pkgconfig command. It will be fixed in the next release. Meanwhile you can add the following command before calling "package require":
proc ::tcl::pkgconfig {args} { switch -- [join $args _] { get_threaded {return 1} get_debug {return 0} } }
AMG: I spotted another oddity with the aforementioned binaries. Somehow, they break the up and down arrows in Tkcon 1.113. With every other Tcl interpreter I've tried, up and down work like Ctrl+P and Ctrl+N (previous and next history command). With WindowsNT_kbsvq8.6-gui.exe, up and down move the cursor around the [text] widget.APN: This has nothing to do with tclkit per se. Some changes in the Tk bindings made somewhere around the 8.6b3 time are the cause. It is not only tkcon that is affected. Not sure if apps are supposed to be modified to fix this (in which case what happens to backward compatibility?)AMG: Yes, I confirmed this by running Tkcon using the latest version of Tcl/Tk. Apparently the reason I never saw this with other interpreters is that they were all out of date. :^)
MHo 2012-11-18: Can't use WindowsNT_kbsmk8.5-cli.exe: libstdc++-6.dll not found.AMG: Get [2] and [3]. Also get 7zip or similar to unpack the lzma files. Put these two DLLs in your $env(PATH) or in the same directory as WindowsNT_kbsmk8.5-cli.exe. Alternately, use the *mk* binaries which aren't infected by the C++ virus.RZ: I think you mean the *vq* binaries:)AMG: Yes, you're right, I apologize.RZ Not necessary. May be I can find a way to link statically.LW 2014-03-12: I got it to work under Windows with MinGW/MSYS/gcc 4.8.1 by changing the following @ kbs.tcl:2075 (for a 8.6.1 kit, didn't try for a 8.5 kit):
append MYMK "[Get builddir-sys]/lib/libtclstub86s.a '''-static -static-libgcc''' -static-libstdc++ -lstdc++"By the way, what's the use of the -staticstdcpp flag? It is enabled by default at kbs.tcl:542, and there doesn't seem to be a way to turn it off, which makes the flag pretty pointless.LW: One more thing: the above gets the -cli and -dyn binaries working, but not the -gui one. To get this one to work, I had to add -DTCL_BROKEN_MAINARGS to the COMPILE variable in the Makefile.in file for kbskit. I.e., in sources/kbskit0.4/Makefile.in:171:
COMPILE = $(CC) $(DEFS) -DTCL_BROKEN_MAINARGS $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)This define was used by Tk when compiling, but not by kbskit. Strangely it does not appear in the defines in buildWindowsNT/lib/tkConfig.sh. Without this define, mykbsmk8.6-gui.exe failed with return code 5 and did not do anything. With it, it builds kbsmk8.6-gui.exe alright, which shows the Tk console indeed. I'm sure there is a cleaner way to handle this flag, but the dirty hack above at least fixes things.This define was required for both Vq and Mk builds.
JOB 2013-03-25: Under OSX 10.8.3 (Mountain Lion) + latest version of kbs.tcl, the following options are required:mk4tcl based:
./kbs.tcl -r --enable-64bit --enable-aqua -mk install kbskit8.6vqtcl based:
./kbs.tcl -r --enable-64bit --enable-aqua -vq install kbskit8.6build tksqlite:
./kbs.tcl -r --enable-64bit --enable-aqua install tksqlite0.5.8
TCV 2013-04-09: How can one include the TDBC bridges (like MySQL, PostgreSQL, and sqlite) in the resulting tclkit? If I just do something like:
$ ./kbs.tcl -r -vq-dyn install kbskit8.6 $ ./buildLinux/bin/kbsvq8.6-dyn % package require tdbc 1.0.0 % package require tdbc::mysql can't find package tdbc::mysqlThey are getting built (they're under buildLinux/lib/tdbcmysql1.0.0 etc), just not bundled into the tclkit. I even tried adding "tdbcmysql1.0.0" to MYKITVQ in the definition of the kbskit8.6 package in kbs.tcl but to no avail. Is that something I need to make a separate package for? Thanks for any advice.RZ Adding "tdbcmysql1.0.0" to MYKITVQ and/or MYKITMK should be enough. Are you sure you have it added in the correct "Package kbskit8.6"? Could you try adding it to all MYKITVQ= and MYKITMK= definitions in the kbskit8.6 definition. I will add these and the other tdbc packages in the next version.TCV OK, I added it to all four places in kbs.tcl (right after anywhere "tdbc1.0.0" was used) and it worked. Maybe I got messed up earlier by only adding it to the threaded branch (although I did have the Thread package). Anyhow, it's all good now. Thanks!MHo After searching hours for actual downloads, and spending hours in getting kbs under Windows/MingW to work, I want to say this:
- Most of the binaries I found in the internet are outdated
- The few Windows 64bit binaries I found are outdated
- Still don't know what the definitive "homesite" of tclkits is
- The working 32bit downloads I found are all configured in a different way (info loaded) and vary greatly in EXE size; I don't always know why and in what they differ
- Feels like I'v found 50 pages how to build tclkits from scratch in the internet and here in the wiki but I don't fully understand one of them
- kbs failed with several error messages after hours of compiling, don't know exactly how to setup MingW to get it right...
- Why are there no up to date tclkits downloadable at www.tcl.tk?
- The basekits from activestate are much bigger than those from http://www.patthoyts.tk/tclkit.html even after UPXing and I don't know why
- Sorry, but I'm simply using Tcl/Tk and tclkits because of the great productivity boost; I'm not a C/C++/make/configure guy who is able to build his building environment by himself...:-(
LW 2014-03-12: With a just-built kbsmk8.6-dyn.exe, I get the following problem when trying to load sqlite:
% package require sqlite3 couldn't load library "C:/Users/qmr.SPF/AppData/Local/Temp/TCL00002034/sqlite380.dll": this library or a dependent library could not be found in library path
- Checking in package names, there is indeed a sqlite3 package.
- Checking in the folder mentioned in the error message, there is indeed no sqlite380.dll (but itcl, tdbc and dde DLLs extract fine if I package require them).
- Checking in the build directory, there is indeed a sqlite380.dll built there.
JOB - 2015-01-23 09:20:12Comment: Compiling kbstcl8.6 under OSX.Just want to state here that I could successfully compile kbskit8.6 with the current release of kbs.tcl in place.
Software | Release | Remark |
---|---|---|
OSX | 10.9.5 | Yes, there is already Maverics out here. |
Xcode | 6.1.1 | After installation, call up Xcode GUI (only once) to disable root permissions for cc. |
kbs | 0.4.6 | Start from scratch - sources 'll be downloaded automatically, except for cvs driven downloads. Cvs command - for whatever reason - is not available (by default) any more. |
tcl/tk | 8.6.3 | Compilation problems for Cocoa are gone - that's great! |
vfs | 1.4.2 | Version conflict exists - see below. |
- Line reference numbers need to be amended as such:
## @defgroup vfs #@verbatim Package vfs1.4 { Source {Cvs tclvfs.cvs.sourceforge.net:/cvsroot/tclvfs -D 2012-01-10 tclvfs} Configure { Patch [Get srcdir]/Makefile.in 144 \ {INCLUDES = @PKG_INCLUDES@ @TCL_INCLUDES@}\ {INCLUDES = @TCL_INCLUDES@} Patch [Get srcdir]/Makefile.in 148 \ {DEFS = @DEFS@ $(PKG_CFLAGS) } {DEFS = @DEFS@ $(PKG_CFLAGS) -D_USE_32BIT_TIME_T } Config [Get srcdir-sys] --with-tclinclude=[Get builddir-sys]/include } Make {Run make} Install {Run make install-binaries} Clean {Run make clean} } #@endverbatim ## @defgroup vfs #@verbatim Package vfs1.4-static { Source {Link vfs1.4} Configure { Patch [Get srcdir]/Makefile.in 144 \ {INCLUDES = @PKG_INCLUDES@ @TCL_INCLUDES@}\ {INCLUDES = @TCL_INCLUDES@} Patch [Get srcdir]/Makefile.in 148 \ {DEFS = @DEFS@ $(PKG_CFLAGS) } {DEFS = @DEFS@ $(PKG_CFLAGS) -D_USE_32BIT_TIME_T } Config [Get srcdir-sys] --disable-shared --with-tclinclude=[Get builddir-sys]/include} Make {Run make} Install {Run make install-binaries} Clean {Run make clean} } #@endverbatim
- Version of vfslib needs to be corrected as well:
append MYCLI " [Get builddir-sys]/lib/vfs1.4.2/libvfs1.4.2.a"Finally the command runs like a charm:
./kbs.tcl -vq -r install kbskit8.6