From: Orion P. <or...@co...> - 2007-02-09 22:08:32
|
Could the Tcl interface folks take a look at trying to compile plplot against Tcl 8.5? It's been put into Fedore Development and plplot compile fails with: [ 13%] Building C object bindings/tcl/CMakeFiles/plplottcltkd.dir/__/__/__/bindings/tk/tkMain.o /usr/bin/gcc -Dplplottcltkd_EXPORTS -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m32 -march=i386 -mtune=generic -fasynchronous-unwind-tables -fPIC -I/builddir/build/BUILD/plplot-5.7.2/include -I/builddir/build/BUILD/plplot-5.7.2/bindings/tcl -I/builddir/build/BUILD/plplot-5.7.2/fedora -I/builddir/build/BUILD/plplot-5.7.2/fedora/include -I/builddir/build/BUILD/plplot-5.7.2/fedora/bindings/tcl -DHAVE_CONFIG_H -o bindings/tcl/CMakeFiles/plplottcltkd.dir/__/__/__/bindings/tk/tkMain.o -c /builddir/build/BUILD/plplot-5.7.2/bindings/tk/tkMain.c /builddir/build/BUILD/plplot-5.7.2/bindings/tk/tkMain.c:88: error: conflicting types for 'Tcl_Import' /usr/include/tclDecls.h:3178: error: previous declaration of 'Tcl_Import' was here make[2]: *** [bindings/tcl/CMakeFiles/plplottcltkd.dir/__/__/__/bindings/tk/tkMain.o] Error 1 make[2]: Leaving directory I'll try to take a closer look next week, but any help would be greatly appreciated. -- Orion Poplawski Technical Manager 303-415-9701 x222 NWRA/CoRA Division FAX: 303-415-9702 3380 Mitchell Lane or...@co... Boulder, CO 80301 http://www.cora.nwra.com |
From: Orion P. <or...@co...> - 2008-01-07 20:58:02
Attachments:
plplot-5.8.0-tcl.patch
|
Well, Tcl 8.5 has finally landed in Fedora Development again. You can see some results from earlier attempts here: http://www.mail-archive.com/plp...@li.../msg00440.html I've attached my recreated attempt to patch to handle it. Again, we compile, but the examples don't actually run: 8/ 14 Testing examples_tcl Test command: /bin/bash -c EXAMPLES_DIR=/builddir/build/BUILD/plplot-5.8.0/fedora/examples\ SRC_EXAMPLES_DIR=/builddir/build/BUILD/plplot-5.8.0/examples\ PLPLOT_LIB=/builddir/build/BUILD/plplot-5.8.0/data/\ ./plplot-test.sh\ --device=psc\ --front-end=tcl Testing front-end tcl application-specific initialization failed: invalid command name "plinit" invalid command name "plgdev" invalid command name "plgdev" invalid command name "plgdev" invalid command name "plgdev" application-specific initialization failed: invalid command name "plinit" invalid command name "matrix" application-specific initialization failed: invalid command name "plinit" while executing "plinit" (file "./x01" line 17) -- Process completed ***Failed This needs someone knowledgeable with Tcl internals to take a look. -- Orion Poplawski Technical Manager 303-415-9701 x222 NWRA/CoRA Division FAX: 303-415-9702 3380 Mitchell Lane or...@co... Boulder, CO 80301 http://www.cora.nwra.com |
From: Arjen M. <arj...@wl...> - 2008-01-08 07:44:16
|
> Well, Tcl 8.5 has finally landed in Fedora Development again. You can > see some results from earlier attempts here: > http://www.mail-archive.com/plp...@li.../msg00440.html > > I've attached my recreated attempt to patch to handle it. Again, we > compile, but the examples don't actually run: > > 8/ 14 Testing examples_tcl > Test command: /bin/bash -c > EXAMPLES_DIR=/builddir/build/BUILD/plplot-5.8.0/fedora/examples\ > SRC_EXAMPLES_DIR=/builddir/build/BUILD/plplot-5.8.0/examples\ > PLPLOT_LIB=/builddir/build/BUILD/plplot-5.8.0/data/\ ./plplot-test.sh\ > --device=psc\ --front-end=tcl > Testing front-end tcl > application-specific initialization failed: > invalid command name "plinit" > invalid command name "plgdev" > invalid command name "plgdev" > invalid command name "plgdev" > invalid command name "plgdev" > application-specific initialization failed: > invalid command name "plinit" > invalid command name "matrix" > application-specific initialization failed: > invalid command name "plinit" > while executing > "plinit" > (file "./x01" line 17) > -- Process completed > ***Failed > > This needs someone knowledgeable with Tcl internals to take a look. > That looks as if the names of these commands were not imported properly. Does this happen on Fedora only or is it common on other (Linux) systems as well? (I do not have ready access to a Linux machine with Tcl 8.5 and PLplot installed, so I need to fall back on Cygwin or MingW to check this and these seem to have completely different issues, last time I tried). I am trying to think of a way to debug this problem - I will come back to it, unless somebody else beats me to it. Regards, Arjen |
From: Andrew R. <and...@us...> - 2008-01-08 15:17:15
|
On Tue, Jan 08, 2008 at 08:43:46AM +0100, Arjen Markus wrote: > > Well, Tcl 8.5 has finally landed in Fedora Development again. You can > > see some results from earlier attempts here: > > http://www.mail-archive.com/plp...@li.../msg00440.html > > > > I've attached my recreated attempt to patch to handle it. Again, we > > compile, but the examples don't actually run: > > > > 8/ 14 Testing examples_tcl > > Test command: /bin/bash -c > > EXAMPLES_DIR=/builddir/build/BUILD/plplot-5.8.0/fedora/examples\ > > SRC_EXAMPLES_DIR=/builddir/build/BUILD/plplot-5.8.0/examples\ > > PLPLOT_LIB=/builddir/build/BUILD/plplot-5.8.0/data/\ ./plplot-test.sh\ > > --device=psc\ --front-end=tcl > > Testing front-end tcl > > application-specific initialization failed: > > invalid command name "plinit" > > invalid command name "plgdev" > > invalid command name "plgdev" > > invalid command name "plgdev" > > invalid command name "plgdev" > > application-specific initialization failed: > > invalid command name "plinit" > > invalid command name "matrix" > > application-specific initialization failed: > > invalid command name "plinit" > > while executing > > "plinit" > > (file "./x01" line 17) > > -- Process completed > > ***Failed > > > > This needs someone knowledgeable with Tcl internals to take a look. > > > > That looks as if the names of these commands were not imported properly. > Does this happen on Fedora only or is it common on other (Linux) systems as > well? > > (I do not have ready access to a Linux machine with Tcl 8.5 and PLplot > installed, so I need to fall back on Cygwin or MingW to check this > and these seem to have completely different issues, last time I tried). > > I am trying to think of a way to debug this problem - I will come back > to it, unless somebody else beats me to it. tcl 8.5 is in Debian testing. Unfortunately I don't have easy access to this until next week, but if you have not found a solution by then I will be able to help. Alan might be able to test things out in the meantime - I know he has Debian testing installed too. Andrew |
From: Alan W. I. <ir...@be...> - 2008-01-08 18:20:15
|
On 2008-01-08 15:16-0000 Andrew Ross wrote: > tcl 8.5 is in Debian testing. Unfortunately I don't have easy access to > this until next week, but if you have not found a solution by then I > will be able to help. Alan might be able to test things out in the > meantime - I know he has Debian testing installed too. I am in the middle of setting up such a test right now. It turns out there are itcl/itk complications. More later. 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 __________________________ |
From: Alan W. I. <ir...@be...> - 2008-01-09 00:12:12
|
Maurice, there is a question at the end for you about the current status of itcl. On 2008-01-07 13:58-0700 Orion Poplawski wrote: > Well, Tcl 8.5 has finally landed in Fedora Development again. You can see > some results from earlier attempts here: > http://www.mail-archive.com/plp...@li.../msg00440.html > > I've attached my recreated attempt to patch to handle it. Again, we compile, > but the examples don't actually run: > [...] This needs someone knowledgeable with Tcl internals to take a look. Orion, I am not that knowledgable about Tcl internals, but I do know in the past we have struggled with what to do about the internal (private) API for Tcl, and our solution has been to copy only the minimal #defines that we need rather than include the internal headers because many distros did not (at least in the past) package those internal headers. Therefore, your patch made me uneasy because you do include internal headers. Also you did some changes from CMake lists to blank-delimited strings. Generally, list processing is the preferred approach with CMake so I am trying to replace blank-delimited strings by lists wherever possible. Because of my concerns with your patch, I tried an alternative of absolutely minimalist changes. This approach (which I have just committed as of revision 8126) works (i.e., ctests without problems) with at least the Debian testing version of Tcl 8.5. Will you please give it a try to see if it works for Fedora Development? Andrew and Arjen will you please test as well on the platforms available to you? Note, if you have Tcl 8.5 on your system you must specify the cmake option -DHAVE_TCL_GT_84=ON. Normally that option defaults to OFF. (Later, if my Tcl 8.5 changes work for everybody regardless of whether they have Tcl 8.4 or 8.5, this crude approach should be replaced by a good automatic cross-platform test for the Tcl version, but I will leave that refinement for some Tcl expert.) N.B. itcl is not compatible with Tcl 8.5, and is probably going to be a problem for all future versions of Tcl because it appears not to be maintained any more. http://sourceforge.net/project/showfiles.php?group_id=13244 shows the last itcl release was a release candidate (!) done almost thre years ago. From the itcl FAQ, itcl is not a pure Tcl extension; it has to patch the Tcl core. Debian testing package dependencies show the latest itcl package depends on the tcl 8.4 package and is inconsistent with tcl 8.5. So my strong advice is to disable itcl and itk if you are going to try Tcl/Tk 8.5. Orion, interference from itcl may be the cause of your ctest time troubles with Tcl 8.5. Maurice, I would appreciate your further comments on the itcl situation. Is it not compatible with tcl 8.5 because that version of Tcl uses its own OO approach or is OO not going to be available at all for the Tcl future unless somebody starts actively supporting itcl? 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 __________________________ |
From: Maurice L. <mj...@br...> - 2008-01-09 04:57:12
|
On Tuesday, January 8, 2008 at 16:11:13 (-0800) Alan W. Irwin writes: > Maurice, there is a question at the end for you about the current > status of itcl. > .. > N.B. itcl is not compatible with Tcl 8.5, and is probably going to be a > problem for all future versions of Tcl because it appears not to be > maintained any more. I hope that's not the case. Last time there was an itcl-breaking Tcl release, there was a subsequent itcl update to fix everything IIRC. So while it might not be an active project in the conventional sense, that doesn't mean someone won't step in to fix it to work with the latest Tcl. > http://sourceforge.net/project/showfiles.php?group_id=13244 shows the last > itcl release was a release candidate (!) done almost thre years ago. From > the itcl FAQ, itcl is not a pure Tcl extension; it has to patch the Tcl > core. Debian testing package dependencies show the latest itcl package > depends on the tcl 8.4 package and is inconsistent with tcl 8.5. That FAQ entry sounds old. True at one time, but currently AFAIK itcl does represent a pure extension. Once namespaces & some other needed core Tcl support was added ages ago, the need to patch Tcl went away. Again, this is all by memory so YMMV. > So my strong advice is to disable itcl and itk if you are going to try > Tcl/Tk 8.5. Orion, interference from itcl may be the cause of your ctest > time troubles with Tcl 8.5. > > Maurice, I would appreciate your further comments on the itcl situation. Is > it not compatible with tcl 8.5 because that version of Tcl uses its own OO > approach or is OO not going to be available at all for the Tcl future unless > somebody starts actively supporting itcl? I'll take a look but it might not be this week. -- Maurice LeBrun |
From: Arjen M. <arj...@wl...> - 2008-01-09 07:59:10
|
> > Maurice, I would appreciate your further comments on the itcl situation. > Is > it not compatible with tcl 8.5 because that version of Tcl uses its own OO > approach or is OO not going to be available at all for the Tcl future > unless > somebody starts actively supporting itcl? > The traditional problem with Itcl has always been that it uses the Tcl internals (which are not meant to be used by extensions). I do not know enough about Itcl to comment on the current situation, but it has not been actively maintained. The problem with OO in Tcl is not the lack of it, but the abundance. There are quite a few approaches to OO: Itcl is one, but XOTcl, Snit, Stooop and Tao are a few others. Recently, one of the Tcl Core Team members, Donal Fellows, has taken up the challenge of providing a unifying framework inside the Tcl core (available as an extension called TclOO), but it will take some work still to make it suitable for all these various approaches. Work on Itcl has been picked by Arnulf Wiedermann, who is re-implementing it to cooperate in a nicer way with the Tcl core and the TclOO framework. Well, the above is a trifle detailed perhaps, but I thought it a good idea to explain the developments at this front. Regards, Arjen (who uses Tcl a lot ;)) |
From: <or...@co...> - 2008-01-09 04:31:01
|
> Note, if you have Tcl 8.5 on your system you must specify the cmake option > -DHAVE_TCL_GT_84=ON. Normally that option defaults to OFF. (Later, if my > Tcl 8.5 changes work for everybody regardless of whether they have Tcl 8.4 > or 8.5, this crude approach should be replaced by a good automatic > cross-platform test for the Tcl version, but I will leave that refinement > for some Tcl expert.) > > N.B. itcl is not compatible with Tcl 8.5, and is probably going to be a > problem for all future versions of Tcl because it appears not to be > maintained any more. > http://sourceforge.net/project/showfiles.php?group_id=13244 shows the last > itcl release was a release candidate (!) done almost thre years ago. From > the itcl FAQ, itcl is not a pure Tcl extension; it has to patch the Tcl > core. Debian testing package dependencies show the latest itcl package > depends on the tcl 8.4 package and is inconsistent with tcl 8.5. > > So my strong advice is to disable itcl and itk if you are going to try > Tcl/Tk 8.5. Orion, interference from itcl may be the cause of your ctest > time troubles with Tcl 8.5. > That was indeed the case. Building the latest svn against Tcl 8.5 in Fedora Development without itcl/itk went fine, thanks. In fact, I can't tell any difference between what is built in the two versions. Does Itcl add anything to plplot? - Orion |
From: Maurice L. <mj...@br...> - 2008-01-09 05:00:53
|
On Tuesday, January 8, 2008 at 21:30:21 (-0700) or...@co... writes: > > > So my strong advice is to disable itcl and itk if you are going to try > > Tcl/Tk 8.5. Orion, interference from itcl may be the cause of your ctest > > time troubles with Tcl 8.5. > > > > That was indeed the case. Building the latest svn against Tcl 8.5 in > Fedora Development without itcl/itk went fine, thanks. In fact, I can't > tell any difference between what is built in the two versions. Does Itcl > add anything to plplot? A nicer file selector, I think that's it. I resisted plunging into itcl when I developed the original TK widget. Would've been much cooler, but I was worried itcl wasn't ubiquitous enough at the time. And now it hasn't been updated in ages. Sigh.. -- Maurice LeBrun |
From: Alan W. I. <ir...@be...> - 2008-01-09 07:34:00
|
On 2008-01-08 22:56-0600 Maurice LeBrun wrote: > On Tuesday, January 8, 2008 at 16:11:13 (-0800) Alan W. Irwin writes: > > Maurice, there is a question at the end for you about the current > > status of itcl. > > .. > > N.B. itcl is not compatible with Tcl 8.5, and is probably going to be a > > problem for all future versions of Tcl because it appears not to be > > maintained any more. > > I hope that's not the case. Last time there was an itcl-breaking Tcl release, > there was a subsequent itcl update to fix everything IIRC. So while it might > not be an active project in the conventional sense, that doesn't mean someone > won't step in to fix it to work with the latest Tcl. > > > http://sourceforge.net/project/showfiles.php?group_id=13244 shows the last > > itcl release was a release candidate (!) done almost thre years ago. From > > the itcl FAQ, itcl is not a pure Tcl extension; it has to patch the Tcl > > core. Debian testing package dependencies show the latest itcl package > > depends on the tcl 8.4 package and is inconsistent with tcl 8.5. > > That FAQ entry sounds old. True at one time, but currently AFAIK itcl does > represent a pure extension. Once namespaces & some other needed core Tcl > support was added ages ago, the need to patch Tcl went away. Again, this > is all by memory so YMMV. > > > So my strong advice is to disable itcl and itk if you are going to try > > Tcl/Tk 8.5. Orion, interference from itcl may be the cause of your ctest > > time troubles with Tcl 8.5. > > > > Maurice, I would appreciate your further comments on the itcl situation. Is > > it not compatible with tcl 8.5 because that version of Tcl uses its own OO > > approach or is OO not going to be available at all for the Tcl future unless > > somebody starts actively supporting itcl? > > I'll take a look but it might not be this week. Thanks, Maurice, for your comments. Based on them I got up my courage to actually leave itcl and itk enabled with tcl 8.5 and ctest still worked! I also did "make install" and tried -dev tk with the installed examples and everything seemed to work. However, from your further comments itcl/itk plays only a small role in PLplot so it may take a particular interactive test of the -dev tk gui that I missed or some other specific interactive test to actually discover whether the itcl/itk-related part of Plplot is working or not. Of course, it could be working fine because Debian testing allows me to have both Tcl 8.5 and Tcl 8.4 installed (in fact demands Tcl 8.4 when itcl/itk is installed). Until we get the definitive word from Maurice about whether it is possible, in general, to mix itcl/itk with a pure Tcl 8.5 environment, my "strong advice" comment above is probably too strong and should be downgraded to "proceed with caution". Orion, I was very glad to hear that svn trunk works for you now in your pure Tcl 8.5 environment with itcl/itk disabled. Do you want to try out the further test of enabling itcl/itk for PLplot for your environment? Since your environment (unlike mine) is pure Tcl 8.5, you may get a very different result than mine. 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 __________________________ |
From: Orion P. <or...@co...> - 2008-01-09 16:22:58
|
Alan W. Irwin wrote: > > Orion, I was very glad to hear that svn trunk works for you now in your > pure > Tcl 8.5 environment with itcl/itk disabled. Do you want to try out the > further test of enabling itcl/itk for PLplot for your environment? Since > your environment (unlike mine) is pure Tcl 8.5, you may get a very > different > result than mine. Yeah, I definitely need to wait for itcl to be built against 8.5. -- Orion Poplawski Technical Manager 303-415-9701 x222 NWRA/CoRA Division FAX: 303-415-9702 3380 Mitchell Lane or...@co... Boulder, CO 80301 http://www.cora.nwra.com |
From: Arjen M. <arj...@wl...> - 2008-01-09 07:43:45
|
> On Tue, Jan 08, 2008 at 08:43:46AM +0100, Arjen Markus wrote: >> > Well, Tcl 8.5 has finally landed in Fedora Development again. You can >> > see some results from earlier attempts here: >> > http://www.mail-archive.com/plp...@li.../msg00440.html >> > >> > I've attached my recreated attempt to patch to handle it. Again, we >> > compile, but the examples don't actually run: >> > >> > 8/ 14 Testing examples_tcl >> > Test command: /bin/bash -c >> > EXAMPLES_DIR=/builddir/build/BUILD/plplot-5.8.0/fedora/examples\ >> > SRC_EXAMPLES_DIR=/builddir/build/BUILD/plplot-5.8.0/examples\ >> > PLPLOT_LIB=/builddir/build/BUILD/plplot-5.8.0/data/\ ./plplot-test.sh\ >> > --device=psc\ --front-end=tcl >> > Testing front-end tcl >> > application-specific initialization failed: >> > invalid command name "plinit" >> > invalid command name "plgdev" >> > invalid command name "plgdev" >> > invalid command name "plgdev" >> > invalid command name "plgdev" >> > application-specific initialization failed: >> > invalid command name "plinit" >> > invalid command name "matrix" >> > application-specific initialization failed: >> > invalid command name "plinit" >> > while executing >> > "plinit" >> > (file "./x01" line 17) >> > -- Process completed >> > ***Failed >> > >> > This needs someone knowledgeable with Tcl internals to take a look. >> > >> >> That looks as if the names of these commands were not imported properly. >> Does this happen on Fedora only or is it common on other (Linux) systems >> as >> well? >> >> (I do not have ready access to a Linux machine with Tcl 8.5 and PLplot >> installed, so I need to fall back on Cygwin or MingW to check this >> and these seem to have completely different issues, last time I tried). >> >> I am trying to think of a way to debug this problem - I will come back >> to it, unless somebody else beats me to it. > > tcl 8.5 is in Debian testing. Unfortunately I don't have easy access to > this until next week, but if you have not found a solution by then I > will be able to help. Alan might be able to test things out in the > meantime - I know he has Debian testing installed too. > I tried to build PLplot for Tcl 8.4 under MingW (with the intent to move on to Tcl 8.5 if all went well), just to see what would happen (and to have access to the generated source code for inspection). In previous attempts - with Cygwin at least - there was all manner of problems, due to the incorrect indication of the particular platform. But with MingW building worked smoothly. I have not yet tested the build yet, did not have time. But this is encouraging! Regards, Arjen |
From: Arjen M. <arj...@wl...> - 2008-01-10 20:42:15
|
>> On Tue, Jan 08, 2008 at 08:43:46AM +0100, Arjen Markus wrote: > > I tried to build PLplot for Tcl 8.4 under MingW (with the intent to > move on to Tcl 8.5 if all went well), just to see what would happen > (and to have access to the generated source code for inspection). > In previous attempts - with Cygwin at least - there was all manner of > problems, due to the incorrect indication of the particular platform. > > But with MingW building worked smoothly. I have not yet tested the > build yet, did not have time. But this is encouraging! > I have tried to get the examples working with Tcl (running pltcl) under Cygwin and MinGW. I had some limited success: 1. The PostScript device works fine 2. The wingcc device under MinGW just shows an empty screen 3. The wingcc (?) device under Cygwin makes the program hang: It wants an X DISPLAY, which makes me wonder if it is compiled properly (i.e. with Windows in mind, rather than X Window). The non-response may therefore be due to the lack of a proper X server. I had to fiddle around a bit with paths and DLLs and some environment variables, so it is far from clean, but at least I was able to get it to work for a basic device. Anyway, that is a quick update for the moment. Regards, Arjen |
From: Geoffrey F. <fu...@li...> - 2008-01-09 14:56:08
|
Maurice LeBrun writes: > On Tuesday, January 8, 2008 at 21:30:21 (-0700) or...@co... writes: > > In fact, I can't tell any difference between what is built in the two > > versions. Does Itcl add anything to plplot? > > A nicer file selector, I think that's it. In the $prefix/share/plplot5.6.1.cvs.20060905/tcl directory, I find: xiphi:share/plplot5.6.1.cvs.20060905/tcl grep -i itcl * FileSelector.tcl:itcl_class FileSelect { plcolor.tcl:# Color palette editors in iTcl for PLPlot. plcolor.tcl:# Conversion to iTcl by Vince Darley. plcolor.tcl:package require Itcl plcolor.tcl:itcl::class ColorEditor { plcolor.tcl:itcl::class Buttons0 { plcolor.tcl:itcl::class ColorPalette0 { plcolor.tcl:itcl::class Buttons1 { plcolor.tcl:itcl::class ColorPalette1 { Pltkwin.tcl: # Am considering making these Itcl classes and/or the plframe Pltkwin.tcl:package require Itcl Pltkwin.tcl:itcl::class Pltkwin { plwidget.tcl:# a real megawidget capability, using itcl. The actual plframe widget plwidget.tcl:# The palette tools require Itcl 3.0 or later. plwidget.tcl: if [catch {package require Itcl 3.0}] { return } PLWin.itk:# @> [incr Tk] revamp of the old itcl PLWin class. PLWin.itk:itcl::class PLWin { PLWin.itk:# plitclgen either. PLWin.itk:# From here on down, we just insert what comes out of plitclgen (file PLWin.itk:# gen.itcl). If you don't like the handling of one of these for some PLWin.itk:# reason, then add the method name to the ignore list in plitclgen, PLXWin.itk:itcl::class PLXWin { So, there's an itcl/itk version of the plframe, also the plxframe, plus all the color pallete editors, and also finally, the tkwin driver has an itk wrapper. The itcl support in PLplot isn't what I would call "fundamental". The Tcl binding works find without itcl. But for those building plplot-centric application gui's in Tcl/Tk, the PLplot itcl/itk support is a huge piece of the landscape. Almost every PLplot application I have built in either of the last two decades, has used PLXWin.itk. However, very recently, I've started shifting my attention toward the python binding. Where again, the PlXframe looms large in the Python/Tk landscape. |
From: Maurice L. <mj...@br...> - 2008-01-09 18:58:25
|
On Wednesday, January 9, 2008 at 08:55:33 (-0600) Geoffrey Furnish writes: > Maurice LeBrun writes: > > On Tuesday, January 8, 2008 at 21:30:21 (-0700) or...@co... writes: > > > In fact, I can't tell any difference between what is built in the two > > > versions. Does Itcl add anything to plplot? > > > > A nicer file selector, I think that's it. > > In the $prefix/share/plplot5.6.1.cvs.20060905/tcl directory, I find: > .. > So, there's an itcl/itk version of the plframe, also the plxframe, plus all > the color pallete editors, and also finally, the tkwin driver has an itk > wrapper. > > The itcl support in PLplot isn't what I would call "fundamental". The Tcl > binding works find without itcl. But for those building plplot-centric > application gui's in Tcl/Tk, the PLplot itcl/itk support is a huge piece of > the landscape. Almost every PLplot application I have built in either of the > last two decades, has used PLXWin.itk. Those slipped my mind somehow.. thanks for pointing that out. -- Maurice LeBrun |
From: Orion P. <or...@co...> - 2008-01-09 16:23:54
|
Maurice LeBrun wrote: > On Tuesday, January 8, 2008 at 16:11:13 (-0800) Alan W. Irwin writes: > > Maurice, there is a question at the end for you about the current > > status of itcl. > > .. > > N.B. itcl is not compatible with Tcl 8.5, and is probably going to be a > > problem for all future versions of Tcl because it appears not to be > > maintained any more. > > I hope that's not the case. Last time there was an itcl-breaking Tcl release, > there was a subsequent itcl update to fix everything IIRC. So while it might > not be an active project in the conventional sense, that doesn't mean someone > won't step in to fix it to work with the latest Tcl. There is some effort by the Fedora maintainer to get it working: https://bugzilla.redhat.com/show_bug.cgi?id=428083 -- Orion Poplawski Technical Manager 303-415-9701 x222 NWRA/CoRA Division FAX: 303-415-9702 3380 Mitchell Lane or...@co... Boulder, CO 80301 http://www.cora.nwra.com |
From: Arjen M. <arj...@wl...> - 2008-01-09 17:06:51
|
> Maurice LeBrun wrote: >> On Tuesday, January 8, 2008 at 16:11:13 (-0800) Alan W. Irwin writes: >> > Maurice, there is a question at the end for you about the current >> > status of itcl. >> > .. >> > N.B. itcl is not compatible with Tcl 8.5, and is probably going to be >> a >> > problem for all future versions of Tcl because it appears not to be >> > maintained any more. >> >> I hope that's not the case. Last time there was an itcl-breaking Tcl >> release, >> there was a subsequent itcl update to fix everything IIRC. So while it >> might >> not be an active project in the conventional sense, that doesn't mean >> someone >> won't step in to fix it to work with the latest Tcl. > > There is some effort by the Fedora maintainer to get it working: > https://bugzilla.redhat.com/show_bug.cgi?id=428083 > I have heard that two members of the Tcl Core Team are working on this issue as well. I will keep you posted about progress. Regards, Arjen |
From: Arjen M. <arj...@wl...> - 2008-01-10 11:12:02
|
>> There is some effort by the Fedora maintainer to get it working: >> https://bugzilla.redhat.com/show_bug.cgi?id=428083 >> > > I have heard that two members of the Tcl Core Team are working > on this issue as well. I will keep you posted about progress. > Orion, can you get Itcl/Itk from the CVS HEAD and try that against PLplot? According to Miguel Sofer, that version of Itcl/Itk is compatible with Tcl 8.5, so that should solve the problem. Regards, Arjen |
From: Orion P. <or...@co...> - 2008-01-15 22:08:14
|
Arjen Markus wrote: >>> There is some effort by the Fedora maintainer to get it working: >>> https://bugzilla.redhat.com/show_bug.cgi?id=428083 >>> >> I have heard that two members of the Tcl Core Team are working >> on this issue as well. I will keep you posted about progress. >> > > Orion, > > can you get Itcl/Itk from the CVS HEAD and try that against PLplot? > According to Miguel Sofer, that version of Itcl/Itk is compatible > with Tcl 8.5, so that should solve the problem. > > Regards, > > Arjen The latest version of itcl/itk in Fedora development shows up as version 3.4, so the following patch is needed: Index: tcl-related.cmake =================================================================== --- tcl-related.cmake (revision 8135) +++ tcl-related.cmake (working copy) @@ -94,7 +94,7 @@ message(STATUS "Looking for itcl.h - found") message(STATUS "Looking for itcl library") get_filename_component(TCL_LIBRARY_PATH ${TCL_LIBRARY} PATH) - set(itcl_library_versions 3.3 3.2 3.1 3.0 2.1 2.0) + set(itcl_library_versions 3.4 3.3 3.2 3.1 3.0 2.1 2.0) foreach(version ${itcl_library_versions}) find_library(ITCL_LIBRARY itcl${version} PATHS ${TCL_LIBRARY_PATH} PATH_SUFFIXES itcl${version}) @@ -155,7 +155,7 @@ if(ITK_INCLUDE_PATH) message(STATUS "Looking for itk.h - found") message(STATUS "Looking for itk library") - set(itk_library_versions 3.3 3.2 3.1 3.0 2.1 2.0) + set(itk_library_versions 3.4 3.3 3.2 3.1 3.0 2.1 2.0) foreach(version ${itk_library_versions}) find_library(ITK_LIBRARY itk${version} ${TK_LIBRARY} PATH_SUFFIXES itk${version}) Note that I have to define ITCL_LIBRARY to /usr/lib/tcl8.5/libitcl3.4 when I run the test as part of the rpm build process. Not sure if this can be fixed somehow. With the above, everything runs fine. -- Orion Poplawski Technical Manager 303-415-9701 x222 NWRA/CoRA Division FAX: 303-415-9702 3380 Mitchell Lane or...@co... Boulder, CO 80301 http://www.cora.nwra.com |
From: Alan W. I. <ir...@be...> - 2008-01-11 01:13:35
|
On 2008-01-10 21:42+0100 Arjen Markus wrote: >>> On Tue, Jan 08, 2008 at 08:43:46AM +0100, Arjen Markus wrote: > >> >> I tried to build PLplot for Tcl 8.4 under MingW (with the intent to >> move on to Tcl 8.5 if all went well), just to see what would happen >> (and to have access to the generated source code for inspection). >> In previous attempts - with Cygwin at least - there was all manner of >> problems, due to the incorrect indication of the particular platform. >> >> But with MingW building worked smoothly. I have not yet tested the >> build yet, did not have time. But this is encouraging! >> > > I have tried to get the examples working with Tcl (running pltcl) > under Cygwin and MinGW. I had some limited success: > > 1. The PostScript device works fine Congratulations. I call that much more than limited success since troubles you had with -dev wingcc presumably have nothing to do with Tcl, and would, for example, also show up for the C examples. Thus, the successful tcl example results with the PostScript device shows you now have the Tcl interface to PLplot working properly on both MinGW and Cygwin, and I hope you use your combination of Tcl and Windows skills to play further with this interface (and also -dev tk and the Tk examples) on those two platforms as well as the bare windows platform. 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 __________________________ |
From: Arjen M. <arj...@wl...> - 2008-01-11 07:27:01
|
> On 2008-01-10 21:42+0100 Arjen Markus wrote: > >>>> On Tue, Jan 08, 2008 at 08:43:46AM +0100, Arjen Markus wrote: >> >>> >>> I tried to build PLplot for Tcl 8.4 under MingW (with the intent to >>> move on to Tcl 8.5 if all went well), just to see what would happen >>> (and to have access to the generated source code for inspection). >>> In previous attempts - with Cygwin at least - there was all manner of >>> problems, due to the incorrect indication of the particular platform. >>> >>> But with MingW building worked smoothly. I have not yet tested the >>> build yet, did not have time. But this is encouraging! >>> >> >> I have tried to get the examples working with Tcl (running pltcl) >> under Cygwin and MinGW. I had some limited success: >> >> 1. The PostScript device works fine > > Congratulations. I call that much more than limited success since > troubles > you had with -dev wingcc presumably have nothing to do with Tcl, and > would, > for example, also show up for the C examples. Thus, the successful tcl > example results with the PostScript device shows you now have the Tcl > interface to PLplot working properly on both MinGW and Cygwin, and I hope > you use your combination of Tcl and Windows skills to play further with > this > interface (and also -dev tk and the Tk examples) on those two platforms as > well as the bare windows platform. > Hi Alan, wise words indeed (see the - elliptical - subject line)! The short story: --------------- I have success now with Tcl under Cygwin and MinGW with the wingcc device. The long story: -------------- I thought about the possible causes and concluded that it was the way I was trying to run the examples: interactively. The Tcl-shell, pltcl, can be used interactively, that is, you simply type commands and that is what I did in order to find out what was going on. I had to add some print statements in the initialisation function because it would fail at first. But that brings the Tcl-shell into a very awkward position: - It reads commands from the command line - It also has to attend to the message loop to properly update the displayed window That is impossible for an non-threaded program under MS Windows. (Though it seems to happen nicely under UNIX and Linux - you can use the Tk-shell wish interactively). Anyway: apart from this interactive use, if I simply run "x01" (or any of the others) as a program, this problem disappears and I get the pictures I expect! Note: This is for the wingcc device under MinGW and Cygwin. (My earlier reported failure was for the Xwin device - I did not read the list of available devices and usually wingcc is number 1 ;). I do need to fiddle around with a few environment variables to get the programs to work, and I will document these on the Wiki but that is a very small prize for this new capability! I have not tried the bare Windows variant yet - I did not want to stretch my luck too far, but I may have time today to try that as well. Quick summary for the environment variables and files: ----------------------------------------------------- Cygwin: PATH should include /usr/X11R6/bin for the X11 library that is needed TCL_LIBRARY should be set explicitly: /usr/share/tcl8.4 MinGW: PL_LIBRARY should be set to the directory holding the file "plplot.tcl" Regards, Arjen |
From: Arjen M. <arj...@wl...> - 2008-01-11 15:32:39
|
>> On 2008-01-10 21:42+0100 Arjen Markus wrote: >> > > Hi Alan, > > wise words indeed (see the - elliptical - subject line)! > > The short story: > --------------- > I have success now with Tcl under Cygwin and MinGW with the > wingcc device. I can add the bare Windows platform to be above list :D. > > > The long story: > -------------- > I thought about the possible causes and concluded that it was the > way I was trying to run the examples: interactively. > > Quick summary for the environment variables and files: > ----------------------------------------------------- > Cygwin: > PATH should include /usr/X11R6/bin for the X11 library that is needed > TCL_LIBRARY should be set explicitly: /usr/share/tcl8.4 > > MinGW: > PL_LIBRARY should be set to the directory holding the file "plplot.tcl" > Judging from the fact that for bare Windows I also need to set PL_LIBRARY, I think that it is safe to say that the file "plplot.tcl" needs to be accessible either via PL_LIBRARY or via the PATH. (Not sure yet how this works out after proper installation) So, we can add Tcl on Windows to the list of supported platforms! Regards, Arjen |
From: Alan W. I. <ir...@be...> - 2008-01-11 16:24:12
|
On 2008-01-11 16:32+0100 Arjen Markus wrote: > [...]So, we can add Tcl on Windows to the list of supported platforms! Good news! 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 __________________________ |
From: Alan W. I. <ir...@be...> - 2008-01-16 05:38:47
|
On 2008-01-15 15:08-0700 Orion Poplawski wrote: > The latest version of itcl/itk in Fedora development shows up as version > 3.4, so the following patch is needed: [...] Done (revision 8137). > Note that I have to define ITCL_LIBRARY to /usr/lib/tcl8.5/libitcl3.4 > when I run the test as part of the rpm build process. Not sure if this > can be fixed somehow. On Debian you have to do that as well (with itcl/itk 3.3). I am not sure what the cause of this is, but there is a long-standing bug report in Debian about it so hopefully this has been passed upstream. > With the above, everything runs fine. Excellent! 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 __________________________ |