From: John B. <jrb...@co...> - 2015-01-20 15:20:06
|
Hi Arjen, I took the step of placing the bin, include, and lib folders in a directory named /usr/local/plplot and I removed the plplot files everywhere else in /usr/local. I think it was this cleanup that fixed the problem. The program now runs beautifully with the line 'call plsdev(wingcc)'. Thanks so much for your help! Kind regards, John At 12:06 AM 1/20/2015, Arjen Markus wrote: >Hi John, > > > >I have seen this type of behaviour under MinGW. >I still have to figure why this is happening there. > > > >What happens if you leave out the call to plsdev >and instead use the command-line option dev >wingcc? I assume you use the routine >plparseopts like in all examples that does the trick for me. > > > >Regards, > > > >Arjen > > > >From: John Baumgardner [mailto:jrb...@co...] >Sent: Monday, January 19, 2015 6:53 PM >To: Arjen Markus; Alan W. Irwin; John Baumgardner >Cc: plp...@li... >Subject: RE: [Plplot-general] plwidth fails to >link under Cygwin against plplot5.9.10 libraries > >Hi Alan and Arjen, > > Thanks for that piece of information about > the f95 implementation not requiring the array > dimensions. With that awareness, I was able > quickly to modify the f77 code to compile correctly. > > However, I am now having difficulties when I > attempt to execute. My executable is unable to > find the device drivers. Here is the message I get: > >*** PLPLOT ERROR, ABORTING OPERATION *** >plInitDispatchTable: Could not open drivers directory, aborting operation >Requested device wingcc not available > >Plotting Options: > >Enter device number or keyword: > > At the top of my main program, as implied by > this output, I have the line call plsdev('wingcc'). > > I copied the plplot dll and drivers > directories into the directory where I am > trying to execute, hoping that might resolve > the problem. But it did not. Any suggestions as to what I am missing? > >Thanks, >John > >At 01:44 AM 1/19/2015, Arjen Markus wrote: > > >Hi John, > > > > > -----Original Message----- > > From: Alan W. Irwin [ mailto:ir...@be...] > > Sent: Sunday, January 18, 2015 2:49 AM > > To: John Baumgardner > > Cc: > <mailto:plp...@li...>plp...@li... > > Subject: Re: [Plplot-general] plwidth fails > to link under Cygwin against plplot5.9.10 > > libraries > > > > However, the good news is I found what I > needed (circle.f and how you built it) to > > figure out this problem which turns out not to be specific to Cygwin. > > > > > $ compile.sh > > > circle.f:26.72: > > > > > > call plline(n101,xx,yy) > > > > > > 1 > > > Error: There is no specific subroutine for the generic 'plline' at (1) > > > >This is a typical message relating to the >available interfaces for plline. The thing is >that with Fortran 95 and beyond you can define a >single interface name to be applied to multiple >implementations. The compiler looks at the >actual argument list and decides to use the >implementation that matches that list (by number >of arguments and the type, kind and rank of >each). If it can not find any matching >implementation, it will respond with a message like the above. > >For the Fortran 95 bindings we have used the >features provided by that standard as much as >possible. One is that arrays ?know? their size. >So the routine plline queries the arrays xx and >yy for their size and there is no need to pass >the size explicitly. That method is actually rather error-prone. > >If you want to pass a section of the array only, you can use: > >Call plline( xx(1:10), yy(1:10) ) > >For instance. > > > I verified that issue. To solve it, I simply used the redacted form of > > subroutine/function call with the redundant > dimension information dropped, i.e., > > > > call plline(xx,yy) > > > > Note, it is quite a while since we have used > the f77 interface so my original advice to > > you was incomplete about converting over to > f95. I should have also added to the > > "use plplot" advice that since we dropped > f77, our f95 capabilities and API have > > evolved and, for example, we are now taking advantage of certain Fortran 95 > > capabilities like knowing the redundant array > dimensions. So you have to use the > > redacted form (like above with redundant > dimension information dropped) of all calls. > > > > When in doubt about exactly what the redacted > form is, look at files in examples/f95/ > > for working examples of all the calls to the PLplot Fortran binding API. > > > >Regards, > > > >Arjen >DISCLAIMER: This message is intended exclusively >for the addressee(s) and may contain >confidential and privileged information. If you >are not the intended recipient please notify the >sender immediately and destroy this message. >Unauthorized use, disclosure or copying of this >message is strictly prohibited. The foundation >'Stichting Deltares', which has its seat at >Delft, The Netherlands, Commercial Registration >Number 41146461, is not liable in any way >whatsoever for consequences and/or damages >resulting from the improper, incomplete and >untimely dispatch, receipt and/or content of this e-mail. >DISCLAIMER: This message is intended exclusively >for the addressee(s) and may contain >confidential and privileged information. If you >are not the intended recipient please notify the >sender immediately and destroy this message. >Unauthorized use, disclosure or copying of this >message is strictly prohibited. The foundation >'Stichting Deltares', which has its seat at >Delft, The Netherlands, Commercial Registration >Number 41146461, is not liable in any way >whatsoever for consequences and/or damages >resulting from the improper, incomplete and >untimely dispatch, receipt and/or content of this e-mail. |