Arjen,

Thanks for your help.  I agree and will start trying to eliminate possibilities.  As I stated in previous emails the VS 2017, widgets, and plplot are newer versions and something may be off. It is not an exact replica of the previous state.  It has been suggested that perhaps my OS was installed form a corrupted image.  But as I mentioned I've tried it on 2 separate computers and that would be quite a coincidence.

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 <mailto:arjen.mar...@deltares.nl>>

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

To: David Bergman <stuntguitar1...@gmail.com <mailto:stuntguitar1...@gmail.com>>, Phil Rosenberg <p.d.rosenb...@gmail.com <mailto:p.d.rosenb...@gmail.com>>, "Plplot-general@lists.sourceforge.net (plplot-general@lists.sourceforge.net) <mailto:Plplot-general@lists.sourceforge.net%20(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

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 <mailto:stuntguitar1...@gmail.com>>
*Sent:* 22 October 2019 18:43
*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>) <plplot-general@lists.sourceforge.net <mailto: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
    
<https://eur03.safelinks.protection.outlook.com/?url=https%3A%2F%2Fstackoverflow.com%2Fquestions%2F3573475%2Fhow-does-the-import-library-work-details&data=02%7C01%7C%7C3c85af39cc224aafae3a08d757a1313e%7C15f3fe0ed7124981bc7cfe949af215bb%7C0%7C0%7C637074222147417329&sdata=DSrP3PiP2pqRz4SqeL9NlLlujV7RfXhiOsEm6ISUuuY%3D&reserved=0>

    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://eur03.safelinks.protection.outlook.com/?url=https%3A%2F%2Faka.ms%2Fghei36&data=02%7C01%7C%7C3c85af39cc224aafae3a08d757a1313e%7C15f3fe0ed7124981bc7cfe949af215bb%7C0%7C0%7C637074222147427320&sdata=w0rTnnRNs2%2BgxzaZZDPe%2BNNr7OYHEJakk%2Fo0rS%2BBmFg%3D&reserved=0>

            
------------------------------------------------------------------------

            *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://eur03.safelinks.protection.outlook.com/?url=https%3A%2F%2Faka.ms%2Fghei36&data=02%7C01%7C%7C3c85af39cc224aafae3a08d757a1313e%7C15f3fe0ed7124981bc7cfe949af215bb%7C0%7C0%7C637074222147437316&sdata=JdgHd9dYvJ4czEwtUWo9GxKdBw4EoeU6hs6XTK4Xpb8%3D&reserved=0>

                
------------------------------------------------------------------------

                *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://eur03.safelinks.protection.outlook.com/?url=https%3A%2F%2Faka.ms%2Fghei36&data=02%7C01%7C%7C3c85af39cc224aafae3a08d757a1313e%7C15f3fe0ed7124981bc7cfe949af215bb%7C0%7C0%7C637074222147437316&sdata=JdgHd9dYvJ4czEwtUWo9GxKdBw4EoeU6hs6XTK4Xpb8%3D&reserved=0>

                    
------------------------------------------------------------------------

                    *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://eur03.safelinks.protection.outlook.com/?url=https%3A%2F%2Faka.ms%2Fghei36&data=02%7C01%7C%7C3c85af39cc224aafae3a08d757a1313e%7C15f3fe0ed7124981bc7cfe949af215bb%7C0%7C0%7C637074222147447311&sdata=RbSlZvOvkrjU9StMxJG9dZoiz64RT3tXsVhQrLVCWDg%3D&reserved=0>

                        
------------------------------------------------------------------------

                        *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
                        
<https://eur03.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.avast.com%2Fantivirus&data=02%7C01%7C%7C3c85af39cc224aafae3a08d757a1313e%7C15f3fe0ed7124981bc7cfe949af215bb%7C0%7C0%7C637074222147447311&sdata=9jQtHUGJXK2ysEY9bVhb5606ntlsy2MKFtmywbEyCYI%3D&reserved=0>



                        _______________________________________________
                        Plplot-general mailing list
                        Plplot-general@lists.sourceforge.net
                        <mailto:Plplot-general@lists.sourceforge.net>
                        
https://lists.sourceforge.net/lists/listinfo/plplot-general
                        
<https://eur03.safelinks.protection.outlook.com/?url=https%3A%2F%2Flists.sourceforge.net%2Flists%2Flistinfo%2Fplplot-general&data=02%7C01%7C%7C3c85af39cc224aafae3a08d757a1313e%7C15f3fe0ed7124981bc7cfe949af215bb%7C0%7C0%7C637074222147457308&sdata=Bmgpj4kgc%2BpPhGnp3ja4M%2BHoJEMnzADsQ1BS3xbzqxk%3D&reserved=0>

--
                    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  
<https://eur03.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww.davidrobertbergmanmusic.com&data=02%7C01%7C%7C3c85af39cc224aafae3a08d757a1313e%7C15f3fe0ed7124981bc7cfe949af215bb%7C0%7C0%7C637074222147467302&sdata=VkmELkcrd3hXNYNsbjxNUL%2FvS3PK75mfcr9V8NPYFHU%3D&reserved=0>

                    Image removed by sender.
                    
<https://eur03.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.avast.com%2Fsig-email%3Futm_medium%3Demail%26utm_source%3Dlink%26utm_campaign%3Dsig-email%26utm_content%3Demailclient%26utm_term%3Dicon&data=02%7C01%7C%7C3c85af39cc224aafae3a08d757a1313e%7C15f3fe0ed7124981bc7cfe949af215bb%7C0%7C0%7C637074222147467302&sdata=GPddjpzGunYgI8kp%2BAIf4RmX%2BIKeyCyhSu9V861tjZg%3D&reserved=0>

                        

                    Virus-free. www.avast.com
                    
<https://eur03.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.avast.com%2Fsig-email%3Futm_medium%3Demail%26utm_source%3Dlink%26utm_campaign%3Dsig-email%26utm_content%3Demailclient%26utm_term%3Dlink&data=02%7C01%7C%7C3c85af39cc224aafae3a08d757a1313e%7C15f3fe0ed7124981bc7cfe949af215bb%7C0%7C0%7C637074222147477300&sdata=HIyoHLBaWhog200y3%2BUb5F5Ag6CFMCmz1EqYEqXxgTo%3D&reserved=0>


--
                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  
<https://eur03.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww.davidrobertbergmanmusic.com&data=02%7C01%7C%7C3c85af39cc224aafae3a08d757a1313e%7C15f3fe0ed7124981bc7cfe949af215bb%7C0%7C0%7C637074222147487294&sdata=m5gb48%2FQcam2eA8aUoZG5wZycN%2BPFhPjqB1gVFaRrhk%3D&reserved=0>

--
            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  
<https://eur03.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww.davidrobertbergmanmusic.com&data=02%7C01%7C%7C3c85af39cc224aafae3a08d757a1313e%7C15f3fe0ed7124981bc7cfe949af215bb%7C0%7C0%7C637074222147487294&sdata=m5gb48%2FQcam2eA8aUoZG5wZycN%2BPFhPjqB1gVFaRrhk%3D&reserved=0>

--
        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  
<https://eur03.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww.davidrobertbergmanmusic.com&data=02%7C01%7C%7C3c85af39cc224aafae3a08d757a1313e%7C15f3fe0ed7124981bc7cfe949af215bb%7C0%7C0%7C637074222147497291&sdata=whi1LXIwGxBIUGAqIFSw9FuscXSGlWP1qw6k9pOgbL0%3D&reserved=0>

--
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  
<https://eur03.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww.davidrobertbergmanmusic.com&data=02%7C01%7C%7C3c85af39cc224aafae3a08d757a1313e%7C15f3fe0ed7124981bc7cfe949af215bb%7C0%7C0%7C637074222147507296&sdata=VmdM1nBzC6LhmP6m%2Bjux6TCaC%2Fjlrnxdp%2B%2BW0bYt10o%3D&reserved=0>

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



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