Hi Arjen:

On 2015-04-15 07:00-0000 Arjen Markus wrote:

> [...] That [quick release cycles, pushes of major changes only in
the first part of the release cycle] seems a wise approach. I can not
predict whether I will be able to get the Fortran bindings reorganised
as we planned before that time, but given that we are working to short
release cycles, that should be less of a problem. The thing is I
realised that my current approach leads to much more code than is
required, and especially duplication thereof. I want to explore an
alternative I have in mind.

Sounds intriguing.  I will certainly be willing to test whatever you
decide to implement.

> The past period has also revealed a number of things regarding
Windows (especially MinGW/MSYS) that should be made smoother and that
is something I would like to explore as well.

I fully agree making the PLplot experience much smoother for all the
many different Windows platforms is a really important topic.  But
from my perspective, I think the priority of the platforms should 1.
Cygwin, 2. MinGW-w64/MSYS2, 3. the MSVC family of platforms, and 4.,
finally MinGW/MSYS.  Perhaps that is all I should say since you have a
lot more Windows experience than I do, and you will be doing a lot
more of such testing than I can do with Wine because of its lack of
speed. However, here are my reasons why I would suggest this order of
priorities for you or anyone else wanting to help out with
our comprehensive testing of PLplot components on Windows platforms.

1. With Cygwin you have already demonstrated complete (except for the
interactive part) comprehensive test success for a small number of
PLplot components.  So that gives you an excellent starting point, and
because the major open-source packages that are PLplot soft
dependencies are already available for the Cygwin distribution, and
the minor PLplot soft dependencies are easy to build (e.g., qhull,
shapelib, libLASi) there is good hope you can expand relatively
rapidly from that initial success to comprehensive test success on
Cygwin for most/all PLplot components.

2. Once you have achieved that complete success on Cygwin for all
components of PLplot, I suggest the second priority should be
MinGW-w64/MSYS2 because of its many similarities with Cygwin including
a distribution of free libraries that is similar in size and extent to
the Cygwin distribution of free libraries (since apparently an
automatically generated reconfiguration of software package builds for
Cygwin can be used to derive MinGW-w64-MSYS2 package builds). However,
MinGW-w64/MSYS2 also apparently has the big advantage of classical
MinGW/MSYS over Cygwin which is it relies on native Windows tools
rather than the Cygwin dll.  For these reasons it is rapidly becoming
an extremely popular Windows platform as can be seen from the
following monthly download statistics (taken from
<https://sourceforge.net/projects/msys2/files/>):

2014-04 16,524
2014-05 12,047
2014-06 12,778
2014-07 14,157
2014-08 18,684
2014-09 21,588
2014-10 26,008
2014-11 29,550
2014-12 139,340
2015-01 343,260
2015-02 339,326
2015-03 493,047

This is obviously phenomenal growth over the last year with no end in sight so 
this is a platform we really do
not want to ignore.

3. I have no way of measuring the popularity of the MSVC family of
platforms, but I assume that family is quite popular because the CMake
developers devote a large effort to it (consisting now of 8 different
visual studio generators and counting), and you and Phil do
hand-crafted tests of a limited set of PLplot components on that
platform from time to time. Thus, I feel strongly it is a worthwhile
goal (after complete success for Cygwin and MinGW-w64/MSYS2) to expand
that current MSVC testing to running scripts/comprehensive_test.sh
(e.g., run the full set of 21 different test configuration
combinations available with that script) for at least a limited subset
of the PLplot components.  However, running that script for all
components of PLplot is very likely only a distant goal on this
platform since in contrast to Cygwin and MinGW-w64-MSYS2 most of the
PLplot soft dependencies are not available in a MSVC distribution.
Thus, the only alternative for MSVC is to build these soft
dependencies yourself.  One can use the
epa_build approach to help keep track of exactly what build methods
work, but finding out that essential information for each package
in a dependency tree starting with the soft dependencies of PLplot is
non-trivial.

4. MinGW/MSYS is still a very popular project from the user
perspective, but I rank this platform as our last priority because of
two real issues with it and a possible speculative issue with it.

i. The number of free software libraries that are installable with
MSYS is quite limited which makes an epa_build-like approach necessary
to test more than a tiny subset of the PLplot components.

ii. The inability of that platform's developers to fix a parallel
build regression on that platform that was introduced several years
ago now (and which apparently has never affected either Cygwin or
MinGW-w64/MSYS2). This regression can be worked around by limiting
yourself to no parallel builds of any kind on MinGW/MSYS, but that
completely wastes the resources of multi-processor machines. I
actually used parallel builds for my own recent 30-hour
MinGW/MSYS/Wine tests but one of those tests failed the first time because
of parallel build issues and (only by chance I assume) worked the
second time.  Thus, that is likely the last time I will try parallel
builds on that platform, but I am not looking forward to 60-90 hour
tests if I ever attempt to test that platform again on Wine.

iii. To speculate further, my opinion is that an unfixed egregious
regression like this is likely a symptom of not enough personnel to
deal with the issue (likely caused by potential or even current
MinGW/MSYS developers choosing to join the rapidly growing
MinGW-w64/MSYS2 project instead of maintaining MinGW/MSYS any
further). If this speculation proves to be correct, then MinGW/MSYS
is, of course, in big trouble in the long run, but in the short run we
should continue to test on this platform in a non-parallel way (as our
lowest priority among Windows platform).

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
__________________________

------------------------------------------------------------------------------
BPM Camp - Free Virtual Workshop May 6th at 10am PDT/1PM EDT
Develop your own process in accordance with the BPMN 2 standard
Learn Process modeling best practices with Bonita BPM through live exercises
http://www.bonitasoft.com/be-part-of-it/events/bpm-camp-virtual- event?utm_
source=Sourceforge_BPM_Camp_5_6_15&utm_medium=email&utm_campaign=VA_SF
_______________________________________________
Plplot-devel mailing list
Plplot-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/plplot-devel

Reply via email to