Hi Alan
Some full background
Visual C++ Express is the stripped down C++ part of Visual Studio, which is 
what I use (because it is free). This includes the IDE, nmake, a compiler 
cl.exe (front and backends) and a linker LINK.EXE all in one package. Each of 
these components almost definitely get an overhaul for each release and the 
various components are probably not interchangable between versions (using the 
2008 compiler with 2012 linker is probably a bad idea - certainly mixing 
compiler frontends and backends would be bad). When a new version is released 
it can convert solution and project files from the previous version, although 
up until VS2012 this has been a one way conversion. By the way, solutions are 
just a group of one or more projects - so for Plplot I get a solution contain a 
project for each library, each example and some other projects which e.g. 
install the libs. You might also want to note that all the VS components are 32 
bit, apparently the dev team decided there
 wasn't much advantage to having a 64 bit compiler as the benefits were 
minimal, but the development cost was very large. Anyway, I digress.

So I have one i3 laptop which dual boots into either 32 bit Win7 or 64 bit Win 
8. The Win 7 install has VS2008 and wxWidgets 2.8.11. The Win 8 install has 
VS2012 and wxWidgets 3.0.0. I've tested that Plplot builds on both systems, and 
on the Win 8VS2012  system I've tested that I can build both 32 bit and 64 bit 
versions with the visual studio generator, it is also on this system that I 
have tested the nmake generator, but only 32 bit. On Win7 VS2008 wx2.8 
everything builds out of the box. On Win8 VS2012 wx3.0, the various patches and 
workarounds we've discussed are required. With nmake 32 bit we still need the 
findWxwidgets CMAKE patches to find wx 3.0, but no other workarounds are needed.

Explicitly answering your questions - I used the appropriate generator for each 
VS version - although I could use a generator for an earlier version then 
upgrade the results, which might be a workaround I haven't tried this. The 
nmake generator results were built with the VS2012 version of nmake.

Hopefully this covers everything

Phil

Hi Phil:

Thanks for that paragraph. There are two questions at the end
of this concerning the interpretation of that paragraph.

On 2013-12-18 12:31-0800 phil rosenberg wrote:

> Hi Alan

> I've never tried the actual test scripts - there was a note on the
wiki that said they don't work on Windows and I always
 assumed they
were shell scripts so I wouldn't be able to run them.

Yes, they are essentially bash shell scripts which work fine for both
Unix and also the MinGW/MSYS case.  So theoretically if you installed
MSYS and put it (but not MinGW) on your PATH you should be able to do
complete run-time testing of PLplot for the MSVC/nmake case. In
practice, however, Arjen tried that last year, and ran into
difficulties which he has not been able to figure out so far.

If you would like to try this yourself some time after this release,
then MSYS is easy to download and install.  Just follow the directions
at http://sourceforge.net/projects/mingw/files/Installer/mingw-get/
(Note for the Wine case I used an earlier version of the installer
they made available last year there, and I haven't tried the recent
version
 they have now.)

Typically you obtain a complete install of MinGW + MSYS in about 5
minutes, and the MinGW part of that can be ignored by not putting
MinGW on your PATH.

>
> Anyway, I've noted below what I have actually done, which is really to test 
> that the libraries build and a small amount of use in anger as it were. 
> However, now I have these built with wxWidgets 3.0 I can confirm the bug that 
> Joost described a short while ago with the examples - it looks like only the 
> original window area is ever redrawn. However my own code works fine. Looking 
> at that will have to wait until the new year now I imagine.
>
> Anyway modified paragraph below. Feel free to modify further to match the 
> style of the rest of the document.
>

> Successful builds were achieved using Visual Studio 2012 on 64
bit?Windows 8 with wxWidgets 3.0?(x86 and x64?builds)?and Visual
Studio 2008?on 32 bit Windows 7 with
 wxWidgets 2.8 (x86 builds only).
In both cases only the C and C++ bindings were built.?? The "NMake
Makefiles" generator with Visual Studio 2012 was also successfully
used to build the same configurations. When using wxWidgets 3.0 CMake
patches were required and these are available at
http://www.cmake.org/Bug/view.php?id=14587and
http://www.cmake.org/Bug/view.php?id=14642.Some problems also exist
with the use of Plplot's wxWidgetsApp?with wxWidgets 3.0 which were
observed in the examples,?however plots embedded in wxWidgets apps
seem to work fine. With the above patches applied the "NMake
Makefiles" generator gave results which built without problems. The
"Visual Studio 9 2008" generator with wxWidgets 2.8 also gave results
which built without problems. The "Visual
 Studio 11" and "Visual
Studio 11 Win64" generators had some issues which could be worked
around but which nevertheless?indicated there are some CMake bugs for
that generator that need to be addressed.

To help me interpret what you said, here is my understanding
of the background (please correct if I have this wrong):

The CMake documentation has the following table
concerning visual studio generator names and what they actually do:

   Visual Studio 6             = Generates Visual Studio 6 project files.
   Visual Studio 7             = Generates Visual Studio .NET 2002 project
                                 files.
   Visual Studio 10            = Generates Visual Studio 10 (2010) project
         
                        files.
   Visual Studio 11            = Generates Visual Studio 11 (2012) project
                                 files.
   Visual Studio 12            = Generates Visual Studio 12 (2013) project
                                 files.
   Visual Studio 7 .NET 2003   = Generates Visual Studio .NET 2003 project
                                 files.
   Visual Studio 8 2005        = Generates Visual Studio 8 2005 project files.
   Visual Studio 9 2008        = Generates Visual Studio 9 2008
 project files.

Furthermore, http://en.wikipedia.org/wiki/Visual_studiosays that the
Windows Visual Studio IDE includes MSVC (presumably the latest version
of that when the IDE version gets released).

And now for two questions concerning the interpretation of your
paragraph:

Does the above background information combined with what you said in
your paragraph mean that you used a consistent Visual Studio 12 (2013)
IDE (and corresponding MSVC compiler) for all your tests, but for
different Visual Studio generators that you mentioned?  If so, this
implies the Visual Studio 12 (2013) IDE can accept project files
written by CMake generators for earlier Visual Studio versions.

And for the nmake test can you confirm you used the MSVC compiler associated 
with the
Visual Studio 12 (2013) IDE, but not the IDE itself?  (I assume
 you did not use the IDE since
nmake is a command-line tool.)

Alan
__________________________
Alan W. Irwin

Astronomical research affiliation with Department of Physics and Astronomy,
University of Victoria (astrowww.phys.uvic.ca).

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.sf.net); 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
__________________________



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

Message: 4
Date: Wed, 18 Dec 2013 15:27:28 -0800 (PST)
From: "Alan W. Irwin" <[email protected]>
Subject: Re: [Plplot-devel] [Post-release] Memory management issues
    with -dev tk
To: Andrew Ross <[email protected]>
Cc: PLplot development list <[email protected]>
Message-ID: <[email protected]>
Content-Type: TEXT/PLAIN; charset=US-ASCII; format=flowed

Hi Andrew:

In reply to your previous post, thanks for confirming those segfault
issues when the recommended stubs versions of the Tcl/Tk
 libraries are
used.  It will be most interesting if those issues disappear if Arjen
replaces (post-release) our use of the non-recommended versions of the
Tcl/Tk API with the recommended versions.

More below.

On 2013-12-18 22:01-0000 Andrew Ross wrote:

>
> P.S. Fixing the fifo bug had no impact on the segfault with
> USE_TCL_TK_STUBS=ON.
>
> One other issue I encountered was that detecting of the various tcl
> components is not entirely robust. I had tcl8.5 and tcl8.6 installed.
> On Ubuntu the default is tcl8.5 so tclsh points to tclsh8.5. This
> means that most of the tcl-related variables were set to point to 8.5,
> however the code setting TCL_INCLUDE_PATH ended up pointing to tcl8.6.
> This is probably a cmake issue rather than a plplot issue, but I
> thought I'd flag it up.

Did our build system warn about those version inconsistencies? 
 And if
so, could you straighten out CMake finding Tcl/Tk library versions
that were inconsistent with tclsh by using CMAKE_INCLUDE_PATH and
CMAKE_LIBRARY_PATH?

If the answers to both questions are "yes", then I think that is
probably the best we can do unless we completely replace the
CMake Tcl/Tk find module with our own.

Alan

__________________________
Alan W. Irwin

Astronomical research affiliation with Department of Physics and Astronomy,
University of Victoria (astrowww.phys.uvic.ca).

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.sf.net); 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
__________________________



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

------------------------------------------------------------------------------
Rapidly troubleshoot problems before they affect your business. Most IT 
organizations don't have a clear picture of how application performance 
affects their revenue. With AppDynamics, you get 100% visibility into your 
Java,.NET, & PHP application. Start your 15-day FREE TRIAL of AppDynamics Pro!
http://pubads.g.doubleclick.net/gampad/clk?id=84349831&iu=/4140/ostg.clktrk

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

_______________________________________________
Plplot-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/plplot-devel


End of Plplot-devel Digest, Vol 91, Issue 28
********************************************
------------------------------------------------------------------------------
Rapidly troubleshoot problems before they affect your business. Most IT 
organizations don't have a clear picture of how application performance 
affects their revenue. With AppDynamics, you get 100% visibility into your 
Java,.NET, & PHP application. Start your 15-day FREE TRIAL of AppDynamics Pro!
http://pubads.g.doubleclick.net/gampad/clk?id=84349831&iu=/4140/ostg.clktrk
_______________________________________________
Plplot-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/plplot-devel

Reply via email to