Rene Zaumseil | 2 Jul 11:40
Picon

Re: Tcl/Tk 8.6a1 RELEASED

Joe English wrote:

>> Inserting of 'libtclstub8.6.a' for 8.6 does not solve the problem.

> What error message do you get in this case?

The same as before.

> Note that for kit executables you must generally link
> against the stub library *in addition* to the main library,
> not instead of it.
Until and including 8.5.3 I do not need the libtclstub* library.
See my first posting.

> Also the order is important: the tcl stub library must be listed
> after any extension libraries that use Tcl (including Tk!) if they
> were compiled with -DUSE_TCL_STUBS.

> libtk will depend either on libtclstub or libtcl, depending
> on how it was compiled.  libtkstub depends on libtclstub.
> libtcl depends only on system libraries.

> If you put libtk, libtkstub, libtcl, and libtclstub towards the
> end of the link line -- after extension libraries but before
> system libraries like libm, libdl, libX11, etc. -- in that order,
> it should link correctly no matter how things were compiled.

The link stage is successfull. But I get a segmentation fault in
loading the first extension (vlerq) in the first line of:

DLLEXPORT int Vlerq_Init (Tcl_Interp *interp) {
    if (!MyInitStubs(interp) || Tcl_PkgRequire(interp, "Tcl", "8.4", 0) == 
NULL)
        return TCL_ERROR;

    Tcl_CreateObjCommand(interp, "vlerq", VlerqObjCmd, f_commands, NULL);
    InitShared();
    return Tcl_PkgProvide(interp, "vlerq", PACKAGE_VERSION);
}

MyInitStubs(interp) is #defined to '1'. In the debugger I can locate the 
Tcl_PkgRequire() function but I do not get there.

I have put my current state as 'kbs.tgz at
  http://sourceforge.net/project/showfiles.php?group_id=210690
Just unpack and 'cd kbs'

To build successfull 8.5.3 with debugging run:
  ./kbs.tcl -v -r --enable-symbols -builddir=./b85 install kbskit-8.5
To try 8.6a1 run:
  ./kbs.tcl -v -r --enable-symbols -builddir=./b86 install kbskit-8.6

Results are in the './b*' directories and executables in './b*/bin/' 

To play with the order of the libraries edit the section 'Package kbskit-8.6'
in the file './sources/kbskit-8.5/kbskit.kbs'

To only rebuild kbskit remove './b*/kbskit*' and run the above command without 
the '-r' switch

HTH

rene

-------------------------------------------------------------------------
Sponsored by: SourceForge.net Community Choice Awards: VOTE NOW!
Studies have shown that voting for your favorite open source project,
along with a healthy diet, reduces your potential for chronic lameness
and boredom. Vote Now at http://www.sourceforge.net/community/cca08

Gmane