Alan W. Irwin writes:
 > Hi Geoffrey:
 > 
 > Your recent revision (I am using revision 10991) to make a plstransform
 > wrapper to Tcl builds okay, but actual use of plstransform for example 19
 > does not work for me.  I get
 > 
 > Unable to evaluate Tcl-side coordinate transform.
 > 
 > repeated 13557 times in examples/x19t_psc.txt, the file that captures stdout
 > for the tcl version of example 19.  That message is apparently coming
 > from Tcl_transform defined in bindings/tcl/tclAPI.c.
 > 
 > I am running the development version of Tcl-8.4 (package tcl8.4-dev version
 > 8.4.19-2) for Debian Lenny.  The relevant lines from cmake output
 > are
 > 
 > -- TCL_TCLSH = /usr/bin/tclsh
 > -- TCL_INCLUDE_PATH = /usr/include/tcl8.4
 > -- TCL_LIBRARY = /usr/lib/libtcl8.4.so
 > 
 > If you try Tcl-8.4 do you get the same error?

Well, so I went to a Fedora 8 system which has Tcl 8.4, and checked out the
code there.  Won't build because F8 uses cmake 2.4.8.

Instead of trying to build a new developer toolchain on that computer, I
decided to come back to my Fedora 12 system, where I did the x19 development
work, and which uses Tcl/Tk 8.5 as you surmised.  And I pulled down Tcl/Tk
8.4.19, built them, installed to a local prefix, and then reran cmake with
that prefix/bin dir in my path.

cmake found only the Tcl/Tk in /usr/{bin|lib}.  So then I make a softlink in
my Tcl/Tk 8.4 prefix/bin dir, from tclsh8.4 to tclsh, rm'd everything in my
plplot build tree, and reran the cmake.  This time I got:

% cmake -DCMAKE_INSTALL_PREFIX=$HOME/devel/8.4/prefix ..
...
-- Looking for include paths and libraries for Tcl/Tk
-- Found Tclsh: /home/furnish/devel/8.4/prefix/bin/tclsh
-- Found TCL: /usr/lib64/libtcl.so
-- Found TCLTK: /usr/lib64/libtcl.so
-- Found TK: /usr/lib64/libtk.so
-- Looking for include paths and libraries for Tcl/Tk - found
-- Looking for tclsh
-- Looking for tclsh - found
-- TCL_TCLSH = /home/furnish/devel/8.4/prefix/bin/tclsh
-- TCL_INCLUDE_PATH = /home/furnish/devel/8.4/prefix/include
-- TCL_LIBRARY = /usr/lib64/libtcl.so

So, it found the tclsh in my path, correctly matched the proper Tcl include
path, but picked up the Tcl/Tk libs in /usr/lib64, which are the system 8.5
variants. 

Question:  What is the right way to tell PLplot CBS to use the Tcl/Tk in a
particular non-default location?

Opinion: PLplot should preferentially select components from any supplied
prefix, which for our CBS, is apparently specified via
-DCMAKE_INSTALL_PREFIX.  Anything found there, should supercede any other
things which may be lying around on the system.

Opinion: Under no circumstances should PLplot CBS miscombine includes and
libs for any component, from disparate locations in the filesystem.

-Geoff

------------------------------------------------------------------------------

_______________________________________________
Plplot-devel mailing list
Plplot-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/plplot-devel

Reply via email to