From: Arjen M. <arj...@wl...> - 2005-06-29 07:08:26
|
Hello all, I had a private conversation with Walt Brainerd about his efforts to make PLplot on Windows, using Cygwin. To get him started after his first problems, related to GD (on Windows you need extra libraries for that and there appears to be a problem with "module gd" - that is a problem to be looked at later on), I adviced him to run configure with --disable-png. Presumably that is not enough to avoid the GD library altogether. Should that read: ./configure --disable-png --disable-gif --disable-jpeg The (abbreviated) error he got with only --disable-png was: gcc -DHAVE_CONFIG_H -I. -I. -I.. -I../include -I../include -I../include -I/usr/include/freetype2 clude/libgnomeprintui-2.2 -I/usr/include/libgnomeprint-2.2 -I/usr/include/libgnomecanvas-2.0 -I/us I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/libxml2 -I/usr/include/pango-1.0 pe2 -I/usr/include/gtk-2.0 -I/usr/lib/gtk-2.0/include -I/usr/X11R6/include -I/usr/include/atk-1.0 d_la-gd.lo -MD -MP -MF .deps/gd_la-gd.Tpo -c gd.c -DPIC -o .libs/gd_la-gd.o gd.c:153: error: redefinition of `plD_DEVICE_INFO_gd' gd.c:149: error: `plD_DEVICE_INFO_gd' previously defined here make[2]: *** [gd_la-gd.lo] Error 1 make[2]: Leaving directory `/home/walt/Software/PLPlot/plplot-5.5.3/drivers' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `/home/walt/Software/PLPlot/plplot-5.5.3' make: *** [all] Error 2 Regards, Arjen |
From: Alan W. I. <ir...@be...> - 2005-06-29 16:04:03
|
On 2005-06-29 09:08+0200 Arjen Markus wrote: > Hello all, > > I had a private conversation with Walt Brainerd about his efforts > to make PLplot on Windows, using Cygwin. To get him started after > his first problems, related to GD (on Windows you need extra > libraries for that and there appears to be a problem with > "module gd" - that is a problem to be looked at later on), > I adviced him to run configure with --disable-png. > > Presumably that is not enough to avoid the GD library altogether. > Should that read: > > ./configure --disable-png --disable-gif --disable-jpeg > > The (abbreviated) error he got with only --disable-png was: > > gcc -DHAVE_CONFIG_H -I. -I. -I.. -I../include -I../include > -I../include -I/usr/include/freetype2 > clude/libgnomeprintui-2.2 -I/usr/include/libgnomeprint-2.2 > -I/usr/include/libgnomecanvas-2.0 -I/us > I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include > -I/usr/include/libxml2 -I/usr/include/pango-1.0 > pe2 -I/usr/include/gtk-2.0 -I/usr/lib/gtk-2.0/include > -I/usr/X11R6/include -I/usr/include/atk-1.0 > d_la-gd.lo -MD -MP -MF .deps/gd_la-gd.Tpo -c gd.c -DPIC -o > .libs/gd_la-gd.o > gd.c:153: error: redefinition of `plD_DEVICE_INFO_gd' > gd.c:149: error: `plD_DEVICE_INFO_gd' previously defined here > make[2]: *** [gd_la-gd.lo] Error 1 > make[2]: Leaving directory > `/home/walt/Software/PLPlot/plplot-5.5.3/drivers' > make[1]: *** [all-recursive] Error 1 > make[1]: Leaving directory `/home/walt/Software/PLPlot/plplot-5.5.3' > make: *** [all] Error 2 If I recall correctly from reports from a Cygwin user there should not be any gd problem on Cygwin. However, there are Cygwin limitations, and to get any good results on that platform at all (at least for the Cygwin version from roughly a year ago), Walt should follow the special Cygwin configure directions in our INSTALL file. Also, he should note there is a workaround there for a special Cygwin g77 problem for getting access to command-line arguments. I doubt that will be a concern for other fortran compilers so long as they have access to the iargc and getarg fortran library routines for finding the number of arguments and actual arguments. Walt, I emphasize the problems we encountered a year ago may now be fixed in Cygwin so some additional test ./configure/builds may be required to really find out what today's Cygwin limitations are. Alan __________________________ Alan W. Irwin email: ir...@be... phone: 250-727-2902 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 Yorick front-end to PLplot (yplot.sf.net); the Loads of Linux Links project (loll.sf.net); and the Linux Brochure Project (lbproject.sf.net). __________________________ Linux-powered Science __________________________ |
From: Andrew R. <aro...@ya...> - 2005-06-30 02:22:54
|
>If I recall correctly from reports from a Cygwin user there should not be >any gd problem on Cygwin. However, there are Cygwin limitations, and to get >any good results on that platform at all (at least for the Cygwin version >from roughly a year ago), Walt should follow the special Cygwin configure >directions in our INSTALL file. I think they have to make sure to disable dyndrivers if they want GD to work. -Andrew |
From: Arjen M. <arj...@wl...> - 2005-07-01 07:37:38
|
Walt Brainerd wrote: > > > I have a Fortran program that calls plinit (and other > routines). I can't figure out how to compile it. > It can't find the subroutines. I have tried -Wl, > -L and -l, and LD_LIBRARY_PATH. > > Could somebody please give me a command that will > do a simple compile? I am sure it is simple. In the > PDF manual, it says there is an example of this in > Chpater 21; I don't see it. Thanks. > The documentation is not complete as yet. But a great way to check that everything is working and to get a feeling for PLplot is to compile and link the examples: examples/f77 contains the Fortran examples (I should say: FORTRAN examples) as well as the makefile to create the executables. Regards, Arjen |
From: Alan W. I. <ir...@be...> - 2005-07-01 14:21:39
|
On 2005-07-01 09:37+0200 Arjen Markus wrote: > Walt Brainerd wrote: >> > >> >> I have a Fortran program that calls plinit (and other >> routines). I can't figure out how to compile it. >> It can't find the subroutines. I have tried -Wl, >> -L and -l, and LD_LIBRARY_PATH. >> >> Could somebody please give me a command that will >> do a simple compile? I am sure it is simple. In the >> PDF manual, it says there is an example of this in >> Chpater 21; I don't see it. Thanks. >> > > The documentation is not complete as yet. But a great > way to check that everything is working and to get > a feeling for PLplot is to compile and link the > examples: examples/f77 contains the Fortran examples > (I should say: FORTRAN examples) as well as the > makefile to create the executables. Walt, that is an excellent suggestion from Arjen. The INSTALL file documents how to compile and link all the examples and execute them. Furthermore, the INSTALL file documents how to compile and link your own routines. There are two alternatives. On Cygwin I doubt you will have access to the second method (using pkg-config) so instead use the first method (with plplot-config) which should work on all Unix systems (including Cygwin). In order to run plplot-config, you must put MYPREFIX/bin on your PATH (where MYPREFIX is the installation prefix you specified as part of the configure step). To learn more about plplot-config run plplot-config --help BTW, Chapter 21 is seriously incomplete compared to the INSTALL file, but it does refer to plplot-config which is all you need to compile and link your own routines. Alan __________________________ Alan W. Irwin email: ir...@be... phone: 250-727-2902 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 Yorick front-end to PLplot (yplot.sf.net); 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...> - 2005-07-01 18:10:24
|
On 2005-07-01 08:14-0700 Walt Brainerd wrote: > Alan W. Irwin wrote: >> Walt, that is an excellent suggestion from Arjen. The INSTALL file >> documents how to compile and link all the examples and execute them. >> Furthermore, the INSTALL file documents how to compile and link your own >> routines.... > Thank you both again for the suggestions. I tell my > tale below, not just to show my stupidity, but to > maybe give you some ideas when fixing up the docs > that might save others some grief. > > Late last night I figured it out. But ... > > I did run the examples. That convinced me that things > were working. The Makefile has variables nested in such > ways that it looked very difficult to actually see what > is needed to compile. > > I also looked at the stuff in Chapter 21 of the PDF doc. > When I ran plplot-config with --libs, I guess I could > not absorb the idea that I needed that many options. > Rereading it says exactly that, however. Also, the > with-f77 option described in INSTALL is not mentioned. > > Later I stumbled on the better instructions in INSTALL > and those got things working. If just those few lines > were added to Chapter 21, I think that would be a big > help. It was dumb not to find the Cygwin installation > instructions in INSTALL, but I was not expecting > compilation instructions to be there. > > Anyway, I now need to learn more about how PLplot > actually works. That should be more interesting and > a lot more fun! > > As with the other stuff I put with the Fortran Tools, > I will try to make it a little easier for a newbie > to get going. Since I will provide the binaries, it > should be easier. > > PLplot looks like a great plotting tool. Those who > built it should be proud. Thank you. > > One last thought. g95 seems pretty solid and the > other GNU Fortran compiler gfortran probably will > be some day soon, so the 95 version of Fortran > should be included. If, some day you do that, I > would be willing to modify all the Fortran examples > to be written using "modern" Fortran 95. That would > be my contribution for using your software and > help. Of course, Arjen and others could do it > easily, but obviously they have other things to > do to contribute to PLplot. Thanks, Walt, for your comments on the documentation. I find a fresh eye (like yours) sees documentation problems much better than veteran users of PLplot. I have had many years of fortran experience, but I stopped paying attention to fortran advances at about the Vax/VMS era because I didn't have research money to pay for commercial compilers. Later on, when I switched from Unix to Linux, g77 never gave me any problems with my Vax/VMS-era research fortran programmes, but didn't support modern fortran so again there was no motivation to learn anything about modern fortran. However, now that g95 is finally getting pretty solid it is on my agenda to learn modern fortran, and I expect that is a decision other free fortran users are beginning to make as well. Thus, in this context of free fortran change, it would make a lot of sense to provide a modern fortran interface and examples for PLplot (although for backwards compatibility we would want to retain the current fortran 77 interface and examples indefinitely as well). The problem as always is time/energy for developers to provide a modern fortran interface and examples for PLplot. Walt, if you are interested in working on such a project, I would be happy to test your patches and apply them to our cvs version. Note, although we have discussed using cfortran.h, we currently have a home-brew method of providing our current f77 interface. To avoid name clashes between the routine names used by external users and our own internal routines, we provide names for our common API that start with "c_". See plplot.h. The common API is that subset of our public C API that every interface (including fortran) to PLplot should implement. The actual fortran and C routines we use to implement the current fortran 77 interface are in bindings/f77. Alan __________________________ Alan W. Irwin email: ir...@be... phone: 250-727-2902 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 Yorick front-end to PLplot (yplot.sf.net); 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...> - 2005-07-04 06:45:25
|
"Alan W. Irwin" wrote: > > > Anyway, I now need to learn more about how PLplot > > actually works. That should be more interesting and > > a lot more fun! > > > > As with the other stuff I put with the Fortran Tools, > > I will try to make it a little easier for a newbie > > to get going. Since I will provide the binaries, it > > should be easier. > > > > PLplot looks like a great plotting tool. Those who > > built it should be proud. Thank you. > > > > One last thought. g95 seems pretty solid and the > > other GNU Fortran compiler gfortran probably will > > be some day soon, so the 95 version of Fortran > > should be included. If, some day you do that, I > > would be willing to modify all the Fortran examples > > to be written using "modern" Fortran 95. That would > > be my contribution for using your software and > > help. Of course, Arjen and others could do it > > easily, but obviously they have other things to > > do to contribute to PLplot. > > Thanks, Walt, for your comments on the documentation. I find a fresh eye > (like yours) sees documentation problems much better than veteran users of > PLplot. > I would love to see a Fortran 90/95 module for PLplot. I did some work in that direction and perhaps after the holidays I can pick that up again: - The first step would be to describe the current FORTRAN API via such a module - The next step would be to modernise the wrapper routines to take advantage of the current facilities in Fortran. > > The problem as always is time/energy for developers to provide a modern > fortran interface and examples for PLplot. Walt, if you are interested in > working on such a project, I would be happy to test your patches and apply > them to our cvs version. Note, although we have discussed using cfortran.h, > we currently have a home-brew method of providing our current f77 interface. > To avoid name clashes between the routine names used by external users and > our own internal routines, we provide names for our common API that start > with "c_". See plplot.h. The common API is that subset of our public C API > that every interface (including fortran) to PLplot should implement. The > actual fortran and C routines we use to implement the current fortran 77 > interface are in bindings/f77. > Alan, I took the hurdle of learning about Fortran 90/95 a couple of years ago and while some details can surprise even an experienced programmer (there are almost always corner cases in a language that tend to trip you), the basics of the "new" facilities are easily learned. Regards, Arjen |
From: Arjen M. <arj...@wl...> - 2005-07-05 06:12:54
|
Walt Brainerd wrote: > > Arjen Markus wrote: > > > I would love to see a Fortran 90/95 module for PLplot. I did some work > > in that direction and perhaps after the holidays I can pick that up > > again: > > > > - The first step would be to describe the current FORTRAN API via such a > > module > > - The next step would be to modernise the wrapper routines to take > > advantage > > of the current facilities in Fortran. > > This is something I might be willing to help with as > it doesn't involve getting much into PLplot itself. > Let me know if you would like to bounce some ideas > off of me. > Sure, that will be after my holidays (back the first of august), but it surely is something worth picking up. > Now for today's lesson (for me). My project the last > couple of days has been to learn something about color. > > I am trying to use map0 to start, of course. Please > let me know if my reasoning is correct: > > 1. It appears that the values stored in the map when the > program ends (or the plot is finally produced) is what holds. > So, if I set plcol0(4), then draw a line, then change the > values for map 4, it is the changed values that apply to the > line. > > 2. There appears to be no way to change the background (bg) > color, other than by changing the value in position 0 in map0 > and these must be still set at the end. > > 3. Therefore, the only way to get any foreground that > is black is to change the map so another position holds > values for black. > > Is this correct? > Thanks. In addition to Alan's answer: What I do in my programs is that I set up the colour map before drawing anything. So the colours associated to the indices by which I draw do not change after that. That way the program does not rely on the precise moment the colour setting takes effect. I think that is a rather usual way of working, but it may depend on the kind of graphics programs you write. Regards, Arjen |
From: Alan W. I. <ir...@be...> - 2005-07-01 19:23:04
|
P.S. to PLplot developers. If you go to http://www.fortran.com/ ==> information ==> "The article about the infamous COME FROM statement." you may quite likely laugh until you cry. That's wonderful. Alan __________________________ Alan W. Irwin email: ir...@be... phone: 250-727-2902 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 Yorick front-end to PLplot (yplot.sf.net); 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...> - 2005-07-05 02:40:36
|
On 2005-07-04 16:02-0700 Walt Brainerd wrote: > Now for today's lesson (for me). My project the last > couple of days has been to learn something about color. > > I am trying to use map0 to start, of course. Please > let me know if my reasoning is correct: > > 1. It appears that the values stored in the map when the > program ends (or the plot is finally produced) is what holds. > So, if I set plcol0(4), then draw a line, then change the > values for map 4, it is the changed values that apply to the > line. That is not true between separate pages. See example 2 (http://plplot.sourceforge.net/examples/demo02.php) where cmap0 is changed between page 1 and 2. I don't know the answer on a given page since I am in the habit of setting up the color map first for any given page. > > 2. There appears to be no way to change the background (bg) > color, other than by changing the value in position 0 in map0 > and these must be still set at the end. > > 3. Therefore, the only way to get any foreground that > is black is to change the map so another position holds > values for black. I think the documentation at http://plplot.sourceforge.net/docbook-manual/plplot-html-5.5.3/color.html says it best: "There are a number of options for changing the default red on black colors. The user may set the index 0 background color using the command-line bg parameter or by calling plscolbg (or plscol0 with a 0 index) before plinit. During the course of the plot, the user can change the foreground color as often as desired using plcol0 to select the index of the desired color." To give you some guidance, here is what I use for a black foreground on white background plot (in python): # White background plscol0(0,255,255,255) # Black pen required for white background plscol0(15,0,0,0) plinit() plcol0(15) ... plend() Note, one of the future possibilities for the PLplot core library will be to have cmap0 and cmap1 colour styles so that our users can just choose a predefined style or create their own local ones and then use the colour style of their choice from then on. Alan __________________________ Alan W. Irwin email: ir...@be... phone: 250-727-2902 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 Yorick front-end to PLplot (yplot.sf.net); 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...> - 2005-07-05 18:15:21
|
On 2005-07-05 08:09-0700 Walt Brainerd wrote: > Alan W. Irwin wrote: > >> "There are a number of options for changing the default red on black >> colors. >> The user may set the index 0 background color using the command-line bg >> parameter or by calling plscolbg (or plscol0 with a 0 index) before >> plinit. > > One other little comment: I couldn't see any difference between calling > this before or after plinit. Is there some subtle difference? Since the documentation says to set up the color map before plinit that is what I do for my single-page examples, and that has always worked for me. I recall running into trouble when I didn't follow that rule, but I cannot remember the details. Alan __________________________ Alan W. Irwin email: ir...@be... phone: 250-727-2902 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 Yorick front-end to PLplot (yplot.sf.net); the Loads of Linux Links project (loll.sf.net); and the Linux Brochure Project (lbproject.sf.net). __________________________ Linux-powered Science __________________________ |
From: Werner S. <sm...@ia...> - 2005-07-05 19:31:15
|
Hi, > > > > One other little comment: I couldn't see any difference between calling > > this before or after plinit. Is there some subtle difference? > > Since the documentation says to set up the color map before plinit that is > what I do for my single-page examples, and that has always worked for me. I > recall running into trouble when I didn't follow that rule, but I cannot > remember the details. As far as I understand the driver code - if you call the plinit() function, the init function of the specified driver is called, pl_state is called twice and than the pl_bop() function provided by the driver is called - here the page/canvas background is filled with the background color. If you set the background color afterwards it won't have some effect for the background until a pladv(). At least all the drivers I looked at and the wxwidgets driver behaves this way. Werner |
From: Arjen M. <arj...@wl...> - 2005-07-06 06:32:55
|
"Alan W. Irwin" wrote: > > On 2005-07-05 20:48-0700 Walt Brainerd wrote: > > > call plptex(3.0_p, 0.5_p, 1.0_p, 0.0_p, 1.0, & > > "Graph of y = f(x)") > > Hi Walt, > > I don't yet know much of anything about modern fortran. In fact, your > example was about the first I had ever looked at closely. I assume the _p > prefix means you are typing all those constants in the above argument list > as real*8. But the fifth argument above is 1.0, not 1.0_p. I suspect > that typo is the source of your problem with plptex. > > If that is not the source of your problem with plptex, then you will have to > rely on Arjen to answer your further questions about getting plptex to work > since he knows modern fortran. > Alan, the postfix "_p" is Fortran 90/95's way of describing the _kind_ of a literal constant. Where FORTRAN77 allows you to do: double precision x x = 1.0d00 Fortran 90 and beyond has generalised this notion: integer, parameter :: p = kind(1.0d00) ! An alternative to selected_real_kind() real (kind=p) :: x x = 1.0_p What you noticed, seems to be correct indeed: the one argument is missing this postfix. As PLplot uses double precision reals by default, this is bound to cause trouble (which is why a module with the PLplot routines' interfaces would be so nice!) Regards, Arjen |