Genkit - Step 2

2.1. BUILD TCL

Build the Tcl core library for linking into tclkit later:

    $ tclsh genkit B tcl
      tcl:
        sh ../../../src/tcl/unix/confi... ok
        make binaries libraries       ... ok
        make install-binaries install-... ok
        /home/shared/kitbuilds/install... ok
      Done.
    $

The above did more than that in fact - it also sets up a working copy of the latest tclsh itself.

Because of that, all remaing steps are done as sh genkit ... - the "tclsh" command is no longer needed.


2.2. BUILD THE REST

Ok, here comes the biggie:

    $ sh genkit B
      zlib:
        sh /home/shared/kitbuilds/buil... ok
        make libz.a                   ... ok
      vfs:
        sh ../../../src/vfs/configure ... ok
        make binaries                 ... ok
      mk:
        sh ../../../src/mk/unix/config... ok
        make libmk4tcl.la             ... ok
      kitsh:
        gcc -c -I. -I/home/shared/kitb... ok
        g++ -o kitsh tclAppInit.o pwb.... ok
        strip kitsh                   ... ok
        ls -l /home/shared/kitbuilds/i... ok
      itcldyn:
        sh ../../../src/itcl/itcl/conf... ok
        make binaries                 ... ok
        make install-binaries         ... ok
      tkdyn:
        sh ../../../src/tk/unix/config... ok
        make binaries                 ... ok
        make install-binaries         ... ok
      Done.
    $

If your build proceeds as above, consider yourself lucky - once this is done, the rest is trivial.

Each of the above can fail for numerous reasons. In that case, you will need to resolve the issue, and restart. You can quickly retry the build of any individual component, e.g. "sh genkit B mk". There are a few dependencies, "kitsh" will only build if zlib, vfs, and mk all succeeded, for example.


2.3. TROUBLESHOOTING

Genkit uses the following flow for each of the modules it builds:

        cat out/`hostname`/vfs
        rm -rf build/`hostname`/vfs
        sh genkit B vfs
        ls -lR install/`hostname`/

There is no magic in all this. Genkit is little more than a wrapper around the different "configure" and "make" tools. If you need to debug and adjust things, you can go to the build directory and (assuming configure completed ok) do a "make":

        cd build/`hostname`/vfs
        make binaries

The only catch is that you will need to dive in and figure out what the various configure's and make's do, and what exactly caused them to fail.

As last step, assuming you have fixed the sources, you could re-do a full build and verify that every issue has indeed been resolved:

        rm -rf build
        sh genkit B tcl
        sh genkit B

Note that tcl has to be rebuilt as well, because the entire build/ area was wiped out, but that you can still use "sh genkit ...", because the install/ area was not removed.


Go to Genkit - Step 3