On Wed, Aug 11, 2010 at 3:11 PM, Jeff Hobbs jeffh@activestate.com wrote:
On 11/08/2010 10:51 AM, Kevin Van Workum wrote:
I have an application (TORQUE resource manager) which provides a TCL interface to its C library and provides the ability to program its behaviour using TCL. Basically it has a C program (pbs_sched) which calls Tcl_CreateInterp() and other Tcl library calls, and then runs a TCL script which I can write to control its behaviour.
I would like to include XOTcl functionality to my control script, but naively using "package require XOTcl" doesn't seem to work. I get "TCL error @ line 3: can't find package XOTcl". Which I guess indicates you can't do that from a standard TCL script.
So, is there a simple way to drop the XOTcl interpretor in place of the normal Tcl interpretor? Or just to add XOTcl functionality?
It sounds like you are trying to use libtcl.so (or equivalient) in your setup. It is possible to make use of extensions if you initialize everything correctly. It is also possible to build special-purpose DLLs that can actually include other extensions added, called stardlls. See http://wiki.tcl.tk/15969 for more. This enhanced setup provides a lot of flexibility for embedders.
Jeff
Replacing "Tcl_Init()" with "Xotcl_Init()" in my C code, and then linking to libxotcl1.6.6.so seems to have worked. Pretty simple.