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:jrbaumgard...@cox.net]
Sent: Tuesday, January 20, 2015 7:30 PM
To: Arjen Markus; John Baumgardner
Cc: plplot-general@lists.sourceforge.net; 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:jrbaumgard...@cox.net]
Sent: Tuesday, January 20, 2015 4:20 PM
To: Arjen Markus; John Baumgardner
Cc: <mailto:plplot-general@lists.sourceforge.net>plplot-general@lists.sourceforge.net 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:jrbaumgard...@cox.net>mailto:jrbaumgard...@cox.net]
Sent: Monday, January 19, 2015 6:53 PM
To: Arjen Markus; Alan W. Irwin; John Baumgardner
Cc: <mailto:plplot-general@lists.sourceforge.net>plplot-general@lists.sourceforge.net 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...@beluga.phys.uvic.ca> <mailto:ir...@beluga.phys.uvic.ca>mailto:ir...@beluga.phys.uvic.ca]
> Sent: Sunday, January 18, 2015 2:49 AM
> To: John Baumgardner
> Cc: <mailto:plplot-general@lists.sourceforge.net>plplot-general@lists.sourceforge.net > 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.
------------------------------------------------------------------------------
New Year. New Location. New Benefits. New Data Center in Ashburn, VA.
GigeNET is offering a free month of service with a new server in Ashburn.
Choose from 2 high performing configs, both with 100TB of bandwidth.
Higher redundancy.Lower latency.Increased capacity.Completely compliant.
http://p.sf.net/sfu/gigenet
_______________________________________________
Plplot-general mailing list
Plplot-general@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/plplot-general

Reply via email to