Hi everybody:

I am changing the subject line as appropriate to the new direction I am taking
this thread.

On 2008-12-11 13:42-0000 Andrew Ross wrote:

> I've also tried on a very old 32-bit debian system with tk 8.4.9 and
> there everything works fine with no segmentation faults, so either it is
> a change in more recent version of tcl/tk or it is a 32/64 bit issue.

That's an interesting result.  There are a lot of possible explanations, but
one of them is our code is just not compatible (yet) with Tcl/Tk 8.5.  To
test that hypothesis I built PLplot against Tcl/Tk 8.4.

I have both 8.4 (with itcl/itk) and 8.5 (without itcl/itk) development
packages installed on my machine.  By default our build system picks the
latest (which is what you would normally want).  Here is how I got around
that default behaviour.

As root:

/usr/sbin/update-alternatives --config tclsh

Choose the 8.4 version.  (I assume this Debian technique will also work on
Ubuntu, but I am not sure.)

As an ordinary user, specify the following cmake options

-DTCL_INCLUDE_PATH:PATH=/usr/include/tcl8.4
-DTCL_LIBRARY:FILEPATH=/usr/lib/libtcl8.4.so
-DTK_INCLUDE_PATH:PATH=/usr/include/tcl8.4
-DTK_LIBRARY:FILEPATH=/usr/lib/libtk8.4.so

These are the Debian locations for these headers and libraries so adjust for
whatever is appropriate for your distro.

After that follow the ordinary build and install.

For Tcl/Tk 8.4 (+ itcl/itk) I noticed quite a change in the segfault
behaviour.  All interactive Tk plots in plplot-test-interactive.sh proceed,
but there are uniformly segfaults upon exit for all of them.  Recall that
for 8.5 I only sometimes got the segfault on exit, and I also got a segfault
when I executed "source tkdemos.tcl" under plserver.  That latter segfault
is now gone (which allows me to see all the standard Tk examples except
for the ones mentioned in the changed commentary in plplot-test-interactive.sh
(revision 9094).  I think that is an important improvement.

Since I get the segfaults on exit for the svn trunk version of PLplot for
both 8.4 (with itcl/itk) and 8.5 (without itcl/itk), I suspect that issue is
due to something in our own code.  The additional 8.5 segfault problem
(segfault when you run "source tkdemos.tcl under plserver) may also be due
to incompatibilities between our code and Tcl/Tk 8.5, but that segfault is
only worth investigating if the exit segfaults are fixed first.

We have other long-standing Tk problems as well (see comments in
plplot-test-interactive.sh, and also notice some of the incorrect colours
you get for plplot-test-interactive.sh).  However, these segfaults are an
especially severe example of the poor state of Tk PLplot maintenance these
days.  We have lots of languages that are nicely maintained so this Tcl/Tk
maintenance issue probably reflects the decreasing popularity of Tcl/Tk
as a language.

I know the PLplot developers I have CC'd here still have some interest in
Tcl/Tk and PLplot, but I completely understand if none of you want to take
responsibility for the Tcl/Tk maintenance due to lack of time or interest.
Certainly, in my own case I have no interest in Tcl/Tk, and don't have the
ability to do anything deep with it.  The work I have done on it is simply
low-level maintenance done as a matter of pride to help keep it going as
long as possible, and I am certainly not equipped to deal with the segfaults
or the other issues I have mentioned here.  In the event that nobody steps
forward as the Tcl/Tk PLplot maintainer, I am strongly leaning toward the
idea of simply disabling Tcl/Tk by default for the release as a sign of the
lack of maintainer for that component of PLplot.  This course of action also
avoids segfaults in what our build system enables by default, and also
helps new users focus on our well-supported languages.

If anybody here strongly objects to disabling Tcl and Tk by default in our
build system (i.e., you would have to specifically set -DENABLE_tcl=ON and
-DENABLE_tk=ON to get access to Tcl/Tk from now on), please let me know soon
since I am going to have to make the decision before our Sunday release.

Alan
__________________________
Alan W. Irwin

Astronomical research affiliation with Department of Physics and Astronomy,
University of Victoria (astrowww.phys.uvic.ca).

Programming affiliations with the FreeEOS equation-of-state implementation
for stellar interiors (freeeos.sf.net); PLplot scientific plotting software
package (plplot.org); the libLASi project (unifont.org/lasi); the Loads of
Linux Links project (loll.sf.net); and the Linux Brochure Project
(lbproject.sf.net).
__________________________

Linux-powered Science
__________________________

------------------------------------------------------------------------------
SF.Net email is Sponsored by MIX09, March 18-20, 2009 in Las Vegas, Nevada.
The future of the web can't happen without you.  Join us at MIX09 to help
pave the way to the Next Web now. Learn more and register at
http://ad.doubleclick.net/clk;208669438;13503038;i?http://2009.visitmix.com/
_______________________________________________
Plplot-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/plplot-devel

Reply via email to