View Ticket
Ticket UUID: f929fddcfc1cced456821d15ac44dcd863b4ff85
Title: Tclkit generation problems
Status: Closed Type: Incident
Severity: Important Priority: High
Subsystem: Mk4tcl Resolution: Open
Last Modified: 2012-10-08 19:39:17
Version Found In: 6.1 trunk
Description:
Firstly i'd like to say: Wow, thanks for building KitCreator, it's mega easy to create starkits, even cross compiling them!!

Now my problems so far:
When compiling everything succeeded (after many tries)

./kitcreator 8.6b3
Building tcl ... done.
Building tclvfs ... done.
Building zlib ... done.
Building tk ... done.
Building itcl ... done.
Building mk4tcl ... done.
Building kitsh ... done.

When I try to run it i get this:
./tclkit-local 
application-specific initialization failed: couldn't read file "/home/lostone/Programare/Tcl/freewrap-starkits/kitcreator/tclkit-local/lib/tcl8.6/init.tcl": invalid seek

Even if I run ./tclkit-8.6b3

When I compile it without mk4tcl but use cvfs or zip instead.. It compiles, when I run it, it WORKS if I source any file. But i have a problem.

I can't seem to ever be able to succesfully build a starpack or use sdx.kit:
(I know it uses  vfs:mk4 but wth..?)

an't find package vfs::mkcl
    while executing
"package require vfs::mkcl"
    (procedure "::vfs::mk4::Mount" line 4)
    invoked from within
"::vfs::mk4::Mount /home/lostone/Programare/Tcl/freewrap-starkits/sdx.kit /home/lostone/Programare/Tcl/freewrap-starkits/sdx.kit -readonly"
    ("eval" body line 1)
    invoked from within
"eval [list ::vfs::${driver}::Mount $self $self] $args"

Is there any (other) way I can build "starpacks" of my applications?
Can I just append ZIPS? I'd be glad if anything else works!

Also doing a "package names" only gives a few names.. If I append any .tcl file to the executable and then do "package names" i get all the packages..
95% of them source, some give errors like this:
couldn't read file "/home/lostone/Programare/Tcl/freewrap-starkits/kitcreator/tclkit-8.6b3/lib/vfs/mk4vfs.tcl": no such file or directory

I tried building starkits with kitgen, kbs and even to compile It myself but I failed miserably every time. I think it either must be a 8.6b bug or something in the settings. The weird thing YOUR app was the ONLY one to run the code without coughing anything.. Though no starkit/starpack/zip way to deploy an app.

Thanks in advance and keep up the good work!


anonymous added on 2012-09-25 07:59:00 UTC:

Firstly i'd like to say: Wow, thanks for building KitCreator, it's mega easy to create starkits, even cross compiling them!!

Now my problems so far: When compiling everything succeeded (after many tries)

./kitcreator 8.6b3 Building tcl ... done. Building tclvfs ... done. Building zlib ... done. Building tk ... done. Building itcl ... done. Building mk4tcl ... done. Building kitsh ... done.

When I try to run it i get this: ./tclkit-local application-specific initialization failed: couldn't read file "/home/lostone/Programare/Tcl/freewrap-starkits/kitcreator/tclkit-local/lib/tcl8.6/init.tcl": invalid seek

Even if I run ./tclkit-8.6b3

When I compile it without mk4tcl but use cvfs or zip instead.. It compiles, when I run it, it WORKS if I source any file. But i have a problem.

I can't seem to ever be able to succesfully build a starpack or use sdx.kit: (I know it uses vfs:mk4 but wth..?)

an't find package vfs::mkcl while executing "package require vfs::mkcl" (procedure "::vfs::mk4::Mount" line 4) invoked from within "::vfs::mk4::Mount /home/lostone/Programare/Tcl/freewrap-starkits/sdx.kit /home/lostone/Programare/Tcl/freewrap-starkits/sdx.kit -readonly" ("eval" body line 1) invoked from within "eval [list ::vfs::${driver}::Mount $self $self] $args"

Is there any (other) way I can build "starpacks" of my applications? Can I just append ZIPS? I'd be glad if anything else works!

Also doing a "package names" only gives a few names.. If I append any .tcl file to the executable and then do "package names" i get all the packages.. 95% of them source, some give errors like this: couldn't read file "/home/lostone/Programare/Tcl/freewrap-starkits/kitcreator/tclkit-8.6b3/lib/vfs/mk4vfs.tcl": no such file or directory

I tried building starkits with kitgen, kbs and even to compile It myself but I failed miserably every time. I think it either must be a 8.6b bug or something in the settings. The weird thing YOUR app was the ONLY one to run the code without coughing anything.. Though no starkit/starpack/zip way to deploy an app.

Thanks in advance and keep up the good work!

\n
Sorry about the bad editing, i thought it would come out as I typed with bold and stuff.. seems i ought to had used pre


rkeene added on 2012-09-25 15:28:38 UTC:
To whom it may concern,

There is an issue with Metakit and Tcl trunk (8.6b3 was just released from trunk). I have not resolved it yet, but it will likely result in a new patch against metakit being added to kitcreator's list of metakit patches.

In the mean-time you can indeed use zip- or cvfs-based storage.

In zip-based storage there is a zip-file already appended to the exectuable that you need to update. You should be able to extract it using the "unzip" command, or update it using the "zip" command.

For cvfs-based storage the base of the kit is stored in an internal archive that cannot be modified, but if you attach your source code in the form of a zip file appended to the end of the executable it will be picked up and used.

That is, for CVFS:

        cd myapp.vfs
        zip -r ../myapp.zip *
        cd ..
        cat tclkit-using-cvfs myapp.zip > tclkit-with-myapp
        chmod +x tclkit-with-myapp

Thanks, Roy Keene


rkeene added on 2012-09-25 15:42:59 UTC:
Another workaround is to use Tcl 8.6b2 or 8.5.12 instead of 8.6b3. Metakit works with those versions.


rkeene added on 2012-10-08 19:35:44 UTC:
Fixed in [94567b3779]