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
[email protected]
https://lists.sourceforge.net/lists/listinfo/plplot-devel