next up previous contents index
Next: OpenAccess Support Up: Xic Configuration and Startup Previous: Abnormal Termination Logging   Contents   Index


Plug-Ins

A ``plug-in'' is a software library that is read into a running program, that provides additional features or capability. Within Xic, plug-ins provide optional support for OpenAccess, and the Python and Tck/Tk languages. The plug-in provides an interface to external libraries that may or not be present on the user's computer. If the needed libraries are present, the plug-in will be loaded into Xic on program startup, and a message, such as
``Using Tcl/Tk (tcltk.so)''
will appear in the console among the text generated on program startup. If the needed libraries are not found, the plug-in is not loaded, but Xic will run normally except that the plug-in's features will be absent.

At present, plug-ins are supported on all platforms except for Microsoft Windows. Windows does not provide the type of shared library technology needed for plug-ins. Although a similar capability could be instituted, there are many substantial issues and it is not clear if it is worth the development effort.

Plug-ins are distributed as shared library code, and are found in the plugins sub-directory in the distribution area, i.e.,

prefix/xictools/xic/plugins
The plug-in files are version-specific, and will work only with the program from the same distribution file. Of course, Xic needs to be able to find its startup files for the plug-ins to be available. If Xic is not installed in the standard location, the XT_PREFIX environment variable should be set to enable Xic to find its startup files.

Normally, if a plug-in is not loaded, there is no message. If, however, the XIC_PLUGIN_DBG environment variable is set, diagnostic messages will be printed. These can help identify why the plug-in is not being loaded, and are instrumental in tracking down problems when the user expects success.

Lack of success loading a plug-in and generally due to the inability of the plug-in code to find the shared libraries needed on the host computer. Unless the library is ``standard'' on the system, which may be true of Python, then it will be necessary to use the LD_LIBRARY_PATH environment variable to specify where to look for the libraries. The libraries much match the address size (32 or 64 bit) of the running Xic program.


next up previous contents index
Next: OpenAccess Support Up: Xic Configuration and Startup Previous: Abnormal Termination Logging   Contents   Index
Stephen R. Whiteley 2022-05-28