On 2019-10-24 18:36-0000 Ferrell, Stephen via Plplot-general wrote:

If you are using strictly the defaults found in the CmakeLists.txt when using 
Cmake to generate your PLPlot solution file and then running the solution file, 
an install folder will not be created, so I'm not sure what you did to end up 
with an install folder containing DLL's and lib files.  I suspect that your 
install folder and the files in it are from some previous build/installation 
that's incompatible with a 5.15 default build.

Yes, it is true that you should never mix various PLplot versions.
And because of the possibility of version clashes from an old install
folder, if you are working within the build folder you should refer to
nothing in the install folder, e.g., don't refer to the install folder in
your PATH, and better yet, when making a fresh start, always remove
all old install folders before proceeding.

Anyhow, I too am extremely happy to hear from David that he has found a 
solution.

Alan

-- The quality of your thoughts will determine the quality of your life.

   On Thursday, October 24, 2019, 07:45:44 AM MST, David Bergman 
<stuntguitar1...@gmail.com> wrote:


Okay, wow.  The following seems to have fixed the issue.  I did not exactly 
what Steve suggested.  What I did do is point to the


.\source\build\dll directory for the libs and dlls, and used the libs in there 
rather than in the install dir.

I am having some deja vu in that last time I was unable to get the install to 
work and made a monolithic folder canned plplot-man (for manual) in which I 
dropped the dll and lib files into.

I used everything in there just to be sure I didn't miss anything.


I still do not understand why but I'm just glad I'm past it.  Could the install 
have corrupted a file that appears in the install folders?  Could that have 
been from the hanging I get using VS 2017 for the install?  I am not sure if 
the install project just moves files around or implements some additional 
bindings etc. 


Most likely I just did something wrong.  In that case please accept my 
apologies for wasting your time.  But thank you all for the help. 


David




On 10/24/2019 10:30 AM, David Bergman wrote:


Also, I've been including all lib's in the dependencies.  I will reduce the 
number.

On 10/24/2019 9:59 AM, David Bergman wrote:


I'll give it a try.  That last one I tried had every .lib in the dependencies.  
Also, I am pointing to the install directories for the dll not the build 
directory.  Is this not the correct thing to do?  Last but not least I am 
running the x00 example which does not use the widgets driver, so I would 
probably want to swap plplotwxwidgets.lib with wingcc.lib

David



On 10/23/2019 11:49 PM, Ferrell, Stephen wrote:

  In your solution file, does your linker input look similar to this?  There 
should only be 2 link-libs listed.
 
C:\plplot-5.15\build\dll\Release\plplotcxx.lib;C:\plplot-5.15\build\dll\Release\plplotwxwidgets.lib;%(AdditionalDependencies)


 Under Linker/System it should read:
 Console (/SUBSYSTEM:CONSOLE)


 Your C++ pre-processor definitions should be:
 PL_USE_NAMESPACE;WIN32;NDEBUG;_WINDOWS;%(PreprocessorDefinitions)


 Under C/C++ Code Generation it should be:
 Multi-threaded DLL (/MD)




 -- The quality of your thoughts will determine the quality of your life.

     On Wednesday, October 23, 2019, 02:53:25 PM MST, David Bergman 
<stuntguitar1...@gmail.com> wrote:


Well then I don't know what to do. 


Thanks anyway.



On 10/23/2019 5:33 PM, Ferrell, Stephen wrote:

  This works perfectly on my system.  As in the examples, plstream is delcared 
globally:
 ----------------------   #include "plc++demos.h"
 #ifdef PL_USE_NAMESPACE using namespace std; #endif
 plstream         *pls;

 int main(int argc, char ** argv) {     cout << "About to declare and new a plstream variable..." 
<< "\n" << endl;
     pls = new plstream();
     cout << "Testing delete plstream..." << "\n" << endl;
     delete pls;
     return 0; }







 -- The quality of your thoughts will determine the quality of your life.

     On Wednesday, October 23, 2019, 01:29:38 PM MST, David Bergman 
<stuntguitar1...@gmail.com> wrote:


I didn't think I was trying random things.  Here is a simple code snippet that 
causes the crash.

int main(int argc, char ** argv)
{
    cout << "About to declare and new a plstream variable..." << "\n" << endl;
    plstream *pls;
    pls = new plstream();

    cout << "Testing delete plstream..." << "\n" << endl;

    delete pls;
    //x00 *x = new x00(argc, argv);
    //delete x;
    return 0;
}

Let me know if I am misusing plstream.  I've #incuded plc++demos.h in the code.




On 10/23/2019 11:57 AM, Phil Rosenberg wrote:

 Hi David
  So you have a build that succeeded. But causes an error at runtime.

  Rather than just trying random things to find a situation where the error 
does not occur - the best course of action next would be to create the minimum 
code sample that  still creates the error.

  So could you start commenting out parts of your example until the error stops 
occurring, in order to isolate which line is causing the error. Once you have a 
suspect part,  put it back in and comment out as much other stuff as you can, 
while still confirming the error occurs.

  This should then give you a minimum sample with the error. You can confirm 
again that this part is causing the problem by removing it again and then 
putting it back again

  Once you have this sample can you zip up the whole sln and send it round and 
we can see if we can recreate it.

  Phil

    Get Outlook for Android
  From: David Bergman <stuntguitar1...@gmail.com>
Sent: Wednesday, October 23, 2019 4:30:49 PM
To: Arjen Markus <arjen.mar...@deltares.nl>; Phil Rosenberg 
<p.d.rosenb...@gmail.com>; Plplot-general@lists.sourceforge.net 
(plplot-general@lists.sourceforge.net) <plplot-general@lists.sourceforge.net>
Subject: Re: [Plplot-general] Problem with LNK2019 error unresolved external  
I just finished building and installing plplot without wxwidgets drivers.  
Still had problems with the install.

It hung for a while and had to be restarted, don't know if this causes 
corruption.

I first built with dyndrivers on and the install crashed with the following 
error:

Error    MSB6006    "cmd.exe" exited with code 1.    test_null_dyndriver    
C:\Program Files (x86)\Microsoft 
VisualStudio\2017\Community\Common7\IDE\VC\VCTargets\Microsoft.CppCommon.targets    209   


I rebuilt with -DTEST_DYNDRIVERS=OFF and that worked.

I set up an old example with the new paths (really the same but with new files) 
and new dll and  lib files as needed.

It ran fine but crashed upon closing with the ntdll.dll heap error again.

I also ran a wxWidgets sample and that ran and closed without issue so I am not 
sure but this may rule  out widgets.


I am going to try and down load an older version of plplot.  Many folks who have tried to 
recreate the issue were building with  slight different set ups, older plplot and 
widgets, older VS version.  Could it be that the "most recent" was not stable?

David






On 10/23/2019 6:13 AM, Arjen Markus wrote:


Hi David,

 

Perhaps try the most basic set-up of PLplot first indeed. So no default  
drivers, only C bindings etc. The problem you are facing looks to be connected 
to your particular computer system, so let’s eliminate  as many potential 
problem dimensions as possible.

 

Regards,

 

Arjen

 

From: stuntguitar1969 <stuntguitar1...@gmail.com>
Sent: 23 October 2019 12:10
To: Arjen Markus <arjen.mar...@deltares.nl>; Phil Rosenberg 
<p.d.rosenb...@gmail.com>; Plplot-general@lists.sourceforge.net 
(plplot-general@lists.sourceforge.net) <plplot-general@lists.sourceforge.net>
Subject: RE: [Plplot-general] Problem with LNK2019 error  unresolved external

 

This is a pure plplot example, not the wxplplot example.  I don't think I'm 
invoking the widgets driver.  Unless it's always being invoked because widgets 
was connected in the  build stage.  I could try building plplot with widgets 
off and see.

 

 

 

Sent from my Verizon, Samsung Galaxy smartphone

 

-------- Original message --------

From: Arjen Markus <arjen.mar...@deltares.nl>

Date: 10/23/19 3:15 AM (GMT-05:00)

To: David Bergman <stuntguitar1...@gmail.com>, Phil Rosenberg <p.d.rosenb...@gmail.com>, 
"Plplot-general@lists.sourceforge.net(plplot-general@lists.sourceforge.net)" 
<plplot-general@lists.sourceforge.net>

Subject: RE: [Plplot-general] Problem with LNK2019  error unresolved external

 

Hi David,

 

Have you tried to run the examples with a different driver  than WxWidgets? The 
failure at the end of the example could indicate a problem with the driver 
rather than PLplot perse.  I have seen this happen in a totally different 
context several years ago,  unfortunately I cannot remember the details, but  
if I remember correctly, it had to do with Tcl/Tk examples running on X  Window.

 

Regards,

 

Arjen

 

From: David Bergman <stuntguitar1...@gmail.com>
Sent: 22 October 2019 18:43
To: Phil Rosenberg <p.d.rosenb...@gmail.com>; Plplot-general@lists.sourceforge.net 
(plplot-general@lists.sourceforge.net) <plplot-general@lists.sourceforge.net>
Subject: Re: [Plplot-general] Problem with LNK2019  error unresolved external

 

I just redid the example with a new build/install on the old machine and made  
sure to have the correct items in additional dependencies.  Again, the example 
ran but crashed upon closing.  I cannot rule out that I've done something 
wrong.  The more I try the more likely I am to go on auto pilot and miss  
something.  I've got fairly detailed procedures for all these steps from help 
from  the community, theh wiki, and the last time I had it working.  I am 
trying my best to not deviate from the script with the exception of  
recommendations to try a fix.

So far nothing has got me past this hurdle, though it seems like I'm close.

On another front, I tried building up a MinGW Code Blocks system with plplot  
and widgets on a desktop and that ran into serious issues with a MinGW bug in 
stdlib.h.  The recommended work around, provided by Vadim (widgets group) has  
not helped and I cannot get mingw64 to install.  So it seems there is blockage 
at every turn.

Are there any other places or things to check w/r to this ntdll.dll heap issue?

David

 

On 10/22/2019 9:47 AM, Phil Rosenberg wrote:


I just opened up the example project you  sent me.

 

In project properties -> Linker -> Input -> Additional dependencies, the  files 
listed should be .lib, not .dll. This is the case  even when you build dlls.

 

When Plplot is built, it creates a series of  libs, who's job is simply to load 
the equivalent dll and pass function calls to that dll. These  are commonly 
referred to as import libraries.  They avoid having to call LoadLibrary()  and 
GetProcAddress() in your code to grab the functions from  the dll at runtime. I 
guess, basically,  the import libraries contain the calls to LoadLibrary() and  
GetProcAddress().

 

There is a StackOverflow question about them  at 
https://stackoverflow.com/questions/3573475/how-does-the-import-library-work-details

 

Try swapping all your filenames from .dll to .lib and see where we gat to 
there. This may  explain the corruption error - VS was loading the files 
expecting them to be libs, but they weren't.

 

Phil

 

On Tue, 22 Oct 2019 at 14:15, Phil Rosenberg <p.d.rosenb...@gmail.com> wrote:


Hi David

In what way did things fail when turning build test on?

Phil

 

From: David Bergman <stuntguitar1...@gmail.com>
Sent: Monday, 21 October 2019, 7:11 p.m.
To: Phil Rosenberg; plplot-general@lists.sourceforge.net
Subject: Re: [Plplot-general] Problem with LNK2019 error unresolved external

 

I am sorry you had the flu and hope you are on the mend.  Well, I did got some other 
folks chiming in and the consensus is that my system  may be hosed.  I've been trying to 
get the same config up and running on an "identical"  Windows 8.1 machine 
(Inspiron 15R) and running into problems with the plplot sln hanging and failing to build 
the dyndriver test project.  I have answered your questions below with my initials as a 
tag.

David

 

On 10/21/2019 2:02 PM, Phil Rosenberg wrote:


Hi David

Sorry I've not been back to you again on this. I've been away with work and  
had a week laid up with flu.

For your dll build. Can you open the plplot.sln. Where it says  platform at the 
top, check it says x64. If you hit the drop down, the  only option should be 
x64.


[BD] Yes, everything was x64.


How have you created the sln for the example? Did you do it  manually or using 
the -DBUILD_TEST=ON option with cmake?


[DB] I did it manually.


If you did it manually then check the x64 is set  in your example at the top 
when you open it in visual studio.


[DB] Yes, x64 was the choice.





If this doesn't work then try emptying your build directory and  rerunning 
cmake including the test option from above.


[DB] I did try that and having -DBUILD_TEST=ON causes the build to fail.





Now when you open the plplot.sln file you will find a set of example  projects 
in the solution explorer. Try right clicking and building  one of these.

Some other things you can try:

Install dependency walker and run this on your example executable -  it should 
show you the dlls it is using which might give you a  clue.


[DB] I'll give this a try.  I've never used it.





Try using the "where" command from the command line. Something like

where plplot.dll

Should list all instances of plplot.dll on your path. You may wish to  run this 
from the working directory of your example - I'm not sure,  but maybe it makes 
a difference.

Hope that helps you make progress.

Phil

Get  Outlook for Android

 

From: David Bergman <stuntguitar1...@gmail.com>
Sent: Friday, October 18, 2019 4:15:07 PM
To: Phil Rosenberg  <p.d.rosenb...@gmail.com>;  plplot-general@lists.sourceforge.net 
<plplot-general@lists.sourceforge.net>
Subject: Re: [Plplot-general] Problem with LNK2019 error unresolved  external

 

Hello,

I wanted to reach out, yet again, to try and resolve some of the issues I'm  
having with getting plplot to install and work.  I really don't know why this 
has been so difficult.  Based on some advice I received reaching out to the 
widgets  and plplot user groups and my own review of my system I decided to 
completely delete my current plplot and wxwidgets builds and  start over.

This is for my Windows 8.1 laptop using VS 2017, x64.  I also removed every 
occurrence of older versions of widgets and  plplot even though I made sure 
they were not in the path.  So I started with a completely clean system in this 
regard.

I installed wxwidgets using the sln provided and that went without any  issue.

The I built and installed plplot using cmake followed by the sln without any  
trouble at all.

I made sure both were built with the x64 (64 bit) option chosen so as to not  
mix 32 and 64 bit.

Trying to build and run one of the plplot examples (x64 option) leads  to the 
following:

(1) dynamic linking causes a corrupt dll error (likely cause 32 and 64 mix, but 
I  can't see how that is).

(2) static linking works! but I still get a system crash upon closing the  
terminal.

I cannot offer more than what I've provided in previous email threads.  It 
seems that there are a few things I'm doing wrong but I just  cannot see based 
on following the directions, or there is a bad  combo of packages, SDK toolkit, 
and OS.

Any suggestions would be appreciated.

David

 

On 9/9/2019 2:20 PM, Phil Rosenberg wrote:


Corrupt file error sounds like you are mixing 64 and 32 bit exes and dlls.  I 
think I've had that error with some libraries before and  found that was my 
mistake.

Is your install bin directory on your path? Do you have any old dlls  somewhere 
that might be on your path?

I usually use static libs. I used a dll version of wxwidgets  about 6 months 
ago, so I know things worked back then. But I'm back to  using static libs 
again. I will build a dll version of plplot this evening and  send you exactly 
the commands I used.

Get  Outlook for Android

 

From: David Bergman <stuntguitar1...@gmail.com>
Sent: Monday, September 9, 2019 6:31:00 PM
To: Phil Rosenberg <p.d.rosenb...@gmail.com>; plplot-general@lists.sourceforge.net 
<plplot-general@lists.sourceforge.net>
Subject: Re: [Plplot-general] Problem with LNK2019 error unresolved  external

 

Phil,

I've gotten a little further.  I tried to run one of the examples building a VS 
project and  sln.  Making sure everything was aligned w/r to he choice x64 I 
got a  corrupted file error.

Error    LNK1107    invalid or corrupt file: cannot read at 0x310    
plplotExamples   C:\build-plplot-new-man\dll\csirocsa.dll    1   

I am not sure what to do.  Looking through some of the old blog posts of the 
issues I had last year  it seems that is was also an issue then.

When you do your build were you able to get everything using the sln  or did 
you have to install at the command prompt too.  That rings a bell and I think I 
wound up using nmake.

Can you confirm your build/install procedure and perhaps shed some light on  
why csirocsa.dll would be corrupted?

Thank you for your help.

David

 

 

On 9/7/2019 3:34 AM, Phil Rosenberg wrote:


Hi David

Sounds like either one of the libs has been forgotten, or you are  building a 
32bit exe and trying to link to the 64 bit libs you just  built.

Might be worth noting that I think the naming convention of  the libs changed 
at some point. They used to have a d suffix to indicate using double precision. 
This has been dropped I  think. So you might need to update the lib names in 
your project.

Phil

Get  Outlook for Android

 

From: David Bergman <stuntguitar1...@gmail.com>
Sent: Friday, September 6, 2019 9:20:57 PM
To: Phil Rosenberg <p.d.rosenb...@gmail.com>; plplot-general@lists.sourceforge.net 
<plplot-general@lists.sourceforge.net>
Subject: Re: [Plplot-general] Problem with LNK2019 error unresolved  external

 

Phil,

As per our last correspondence I had succeeded in getting the  widgets headers 
and drivers built when I changed from Win64 to  no Win64.  But I still got an 
install error in the IDE (sent in a previous  email).  You had suggested that 
perhaps I didn't build widgets using 64bit so I  decided to purge everything 
and start over.  I built the widgets files using their sln with x64 set.  Then 
built plplot with cmake no problem and widgets was declared ON as  expected.  
Using the IDE and the sln to INSTALL led to hanging and errors three  times in 
a row.  After the 3rd time I just looked in the folders and figured if I can 
find  everything I might be okay.  My recollection is that this happened last 
time too (back in 2017). 

The example I was trying to run was a simple one of my own that plotted  
various 3-dim mesh surfaces.

I did not try to build the official plplot examples yet.  Perhaps I should try 
that first.

I don't know if what I've written is helpful in helping you help me get it  
working.

David

 

 

On 9/6/2019 3:44 PM, Phil Rosenberg wrote:


 

Is this building the examples? Sounds like the libs are not being  linked to 
properly.

Did you get past the wxwidgets problem?

Get  Outlook for Android

 

From: David Bergman <stuntguitar1...@gmail.com>
Sent: Friday, September 6, 2019 6:17:59 PM
To: plplot-general@lists.sourceforge.net <plplot-general@lists.sourceforge.net>
Subject:[Plplot-general] Problem with LNK2019 error unresolved external

 

All,

I have made some progress with building and installing the new plplot
with a new wxwidets using VS 2017.

I still have not gone past the install process in the IDE w/o an  error
but I seem to have all the headers and dll I need (though I'm  not sure
if they are corrupted).

At present I've decided to move forward with what I have  and try a
simple example I wrote that worked with my previous config.

I get unresolved externals, 14 to be exact.  Basically every plplot
function I call seems to cause this.  A few example are provided.

plAlloc2dGrid

and all the plstream functions like box3, col0, font, etc.

Typically what I cause this it's due to a function declaration in  a
class that is not defined elsewhere.

It "seems like" my new build has the same files as the old one  and the
projects are comparable (with only diffs being the location  of the new
folders).

Thanks in advance for your help.

David


---
This email has been checked for viruses by Avast antivirus  software.
https://www.avast.com/antivirus



_______________________________________________
Plplot-general mailing list
Plplot-general@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/plplot-general

--  David Bergman David R Bergman Music LLC "Have Guitar Will Travel" 
Morristown NJ 551-655-4720 stuntguitar1...@gmail.com www.davidrobertbergmanmusic.com
 

|

 |
Virus-free.  www.avast.com
 |


--  David Bergman David R Bergman Music LLC "Have Guitar Will Travel" 
Morristown NJ 551-655-4720 stuntguitar1...@gmail.com www.davidrobertbergmanmusic.com
--  David Bergman David R Bergman Music LLC "Have Guitar Will Travel" 
Morristown NJ 551-655-4720 stuntguitar1...@gmail.com www.davidrobertbergmanmusic.com
--  David Bergman David R Bergman Music LLC "Have Guitar Will Travel" 
Morristown NJ 551-655-4720 stuntguitar1...@gmail.com www.davidrobertbergmanmusic.com
 


--  David Bergman David R Bergman Music LLC "Have Guitar Will Travel" 
Morristown NJ 551-655-4720 stuntguitar1...@gmail.com www.davidrobertbergmanmusic.com
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.
--
David Bergman
David R Bergman Music LLC
"Have Guitar Will Travel"
Morristown NJ
551-655-4720
stuntguitar1...@gmail.com
www.davidrobertbergmanmusic.com
--
David Bergman
David R Bergman Music LLC
"Have Guitar Will Travel"
Morristown NJ
551-655-4720
stuntguitar1...@gmail.com
www.davidrobertbergmanmusic.com  _______________________________________________
Plplot-general mailing list
Plplot-general@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/plplot-general

--
David Bergman
David R Bergman Music LLC
"Have Guitar Will Travel"
Morristown NJ
551-655-4720
stuntguitar1...@gmail.com
www.davidrobertbergmanmusic.com   
_______________________________________________
Plplot-general mailing list
Plplot-general@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/plplot-general

--
David Bergman
David R Bergman Music LLC
"Have Guitar Will Travel"
Morristown NJ
551-655-4720
stuntguitar1...@gmail.com
www.davidrobertbergmanmusic.com
--
David Bergman
David R Bergman Music LLC
"Have Guitar Will Travel"
Morristown NJ
551-655-4720
stuntguitar1...@gmail.com
www.davidrobertbergmanmusic.com
--
David Bergman
David R Bergman Music LLC
"Have Guitar Will Travel"
Morristown NJ
551-655-4720
stuntguitar1...@gmail.com
www.davidrobertbergmanmusic.com _______________________________________________
Plplot-general mailing list
Plplot-general@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/plplot-general


__________________________
Alan W. Irwin

Programming affiliations with the FreeEOS equation-of-state
implementation for stellar interiors (freeeos.sf.net); the Time
Ephemerides project (timeephem.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
__________________________


_______________________________________________
Plplot-general mailing list
Plplot-general@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/plplot-general

Reply via email to