2 Jul 11:40
Re: Tcl/Tk 8.6a1 RELEASED
From: Rene Zaumseil <r.zaumseil@...>
Subject: Re: Tcl/Tk 8.6a1 RELEASED
Newsgroups: gmane.comp.lang.tcl.core
Date: 2008-07-02 09:42:52 GMT
Subject: Re: Tcl/Tk 8.6a1 RELEASED
Newsgroups: gmane.comp.lang.tcl.core
Date: 2008-07-02 09:42:52 GMT
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
RSS Feed