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 <mailto: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
    <mailto:stuntguitar1...@gmail.com>>
    *Sent:* Monday, 21 October 2019, 7:11 p.m.
    *To:* Phil Rosenberg; plplot-general@lists.sourceforge.net
    <mailto: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 <https://aka.ms/ghei36>

    ------------------------------------------------------------------------
    *From:* David Bergman <stuntguitar1...@gmail.com>
    <mailto:stuntguitar1...@gmail.com>
    *Sent:* Friday, October 18, 2019 4:15:07 PM
    *To:* Phil Rosenberg <p.d.rosenb...@gmail.com>
    <mailto:p.d.rosenb...@gmail.com>;
    plplot-general@lists.sourceforge.net
    <mailto:plplot-general@lists.sourceforge.net>
    <plplot-general@lists.sourceforge.net>
    <mailto: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 <https://aka.ms/ghei36>

    ------------------------------------------------------------------------
    *From:* David Bergman <stuntguitar1...@gmail.com>
    <mailto:stuntguitar1...@gmail.com>
    *Sent:* Monday, September 9, 2019 6:31:00 PM
    *To:* Phil Rosenberg <p.d.rosenb...@gmail.com>
    <mailto:p.d.rosenb...@gmail.com>;
    plplot-general@lists.sourceforge.net
    <mailto:plplot-general@lists.sourceforge.net>
    <plplot-general@lists.sourceforge.net>
    <mailto: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 <https://aka.ms/ghei36>

    ------------------------------------------------------------------------
    *From:* David Bergman <stuntguitar1...@gmail.com>
    <mailto:stuntguitar1...@gmail.com>
    *Sent:* Friday, September 6, 2019 9:20:57 PM
    *To:* Phil Rosenberg <p.d.rosenb...@gmail.com>
    <mailto:p.d.rosenb...@gmail.com>;
    plplot-general@lists.sourceforge.net
    <mailto:plplot-general@lists.sourceforge.net>
    <plplot-general@lists.sourceforge.net>
    <mailto: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 <https://aka.ms/ghei36>

    ------------------------------------------------------------------------
    *From:* David Bergman <stuntguitar1...@gmail.com>
    <mailto:stuntguitar1...@gmail.com>
    *Sent:* Friday, September 6, 2019 6:17:59 PM
    *To:* plplot-general@lists.sourceforge.net
    <mailto:plplot-general@lists.sourceforge.net>
    <plplot-general@lists.sourceforge.net>
    <mailto: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
    <mailto: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  <mailto:stuntguitar1...@gmail.com>
    www.davidrobertbergmanmusic.com  <http://www.davidrobertbergmanmusic.com>

    
<https://www.avast.com/sig-email?utm_medium=email&utm_source=link&utm_campaign=sig-email&utm_content=emailclient&utm_term=icon>
        Virus-free. www.avast.com
    
<https://www.avast.com/sig-email?utm_medium=email&utm_source=link&utm_campaign=sig-email&utm_content=emailclient&utm_term=link>


-- David Bergman
    David R Bergman Music LLC
    "Have Guitar Will Travel"
    Morristown NJ
    551-655-4720
    stuntguitar1...@gmail.com  <mailto:stuntguitar1...@gmail.com>
    www.davidrobertbergmanmusic.com  <http://www.davidrobertbergmanmusic.com>
-- David Bergman
    David R Bergman Music LLC
    "Have Guitar Will Travel"
    Morristown NJ
    551-655-4720
    stuntguitar1...@gmail.com  <mailto:stuntguitar1...@gmail.com>
    www.davidrobertbergmanmusic.com  <http://www.davidrobertbergmanmusic.com>

-- David Bergman
    David R Bergman Music LLC
    "Have Guitar Will Travel"
    Morristown NJ
    551-655-4720
    stuntguitar1...@gmail.com  <mailto:stuntguitar1...@gmail.com>
    www.davidrobertbergmanmusic.com  <http://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



--
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

Reply via email to