From: John B. <jrb...@co...> - 2015-01-23 00:45:56
|
Hi Arjen, For some strange reason, plplot is again failing to work as it should. The failure possibly arose when something in the environment changed and I then recompiled. In any case, I show below the load step and then the execution that give the error 'cannot open shared object file'. Might you have any idea what might be causing this problem? $ make sphplt gfortran -fdefault-real-8 -O3 -fdefault-real-8 -O3 -I/usr/local/plplot/include -L/usr/local/plplot/lib -o sphplt sphplt.o graphx.o \ -lplplotd -lplplotf95d -lplplotf95cd $ sphplt /home/johnrb/terra0314/sphplt.exe: error while loading shared libraries: cygplplotf95d-11.dll: cannot open shared object file: No such file or directory Thanks, John At 01:03 AM 1/21/2015, Arjen Markus wrote: >Hi John, > >I was triggered by similar behaviour under >MinGW, with the only difference the programmatic >choice for a device. I tried this myself via one >of the standard examples, but that worked >without the problems you reported. A relief J. >That means only MinGW is special. > >Regards, > >Arjen > >From: John Baumgardner [mailto:jrb...@co...] >Sent: Tuesday, January 20, 2015 7:30 PM >To: Arjen Markus; John Baumgardner >Cc: plp...@li...; Alan W. Irwin >Subject: RE: [Plplot-general] plwidth fails to >link under Cygwin against plplot5.9.10 libraries > >Hi Arjen, > > I am sure that your assessment as to the two > possible causes for the failure is > correct. Given that I deleted all the plplot > files in /usr/local except those I loaded into > /usr/local/plplot, it is now close to > impossible for me to reproduce the conditions > responsible for the failure. I had been trying > to get the plplot-5.9.10 version to work, and I > suspect my application was accessing some of > those files which I had failed to remove or > overwrite. In any case, it is a great relief to have things working now. > >John > >At 07:25 AM 1/20/2015, Arjen Markus wrote: > >Hi John, > >I am glad you were able to solve it. I am not >entirely sure which step in the device selection >process failed (there are two: get the device >information and load the library that implements >it). One of the two must have been working on an >incomplete directory and by properly installing >all the stuff it has been solved. Might still be >worth looking into at some point. > >Regards, > >Arjen > >From: John Baumgardner [ mailto:jrb...@co...] >Sent: Tuesday, January 20, 2015 4:20 PM >To: Arjen Markus; John Baumgardner >Cc: ><mailto:plp...@li...>plp...@li... >Subject: RE: [Plplot-general] plwidth fails to >link under Cygwin against plplot5.9.10 libraries > >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...>mailto:jrb...@co...] >Sent: Monday, January 19, 2015 6:53 PM >To: Arjen Markus; Alan W. Irwin; John Baumgardner >Cc: ><mailto:plp...@li...>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...> > <mailto:ir...@be...>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. >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. |