On 2016-03-02 07:53-0000 Arjen Markus wrote:

> Hi Alan,
>
>
>
>> -----Original Message-----
>> From: Alan W. Irwin [mailto:ir...@beluga.phys.uvic.ca]
>> Sent: Wednesday, March 02, 2016 1:20 AM
>> To: PLplot development list
>> Subject: [Plplot-devel] Deprecation of the MinGW/MSYS platform
>>
>> For a variety of reasons discussed below I think it is time (unless someone 
>> strongly
>> objects) for us to deprecate the MinGW/MSYS in favour of MinGW-w64/MSYS2
>> and other Windows alternatives.
>>
>> One advantage MinGW/MSYS can still claim is libraries such as PLplot built 
>> on that
>> platform are native Windows libraries and do not depend on any special dll 
>> such as
>> the Cygwin dll that is a required dependency for all software built on 
>> Cygwin.  But
>> that advantage is no longer unique to MinGW/MSYS because MinGW-w64/MSYS2
>> (a completely independent project with different developers than the ones 
>> who are
>> still supporting MinGW/MSYS) shares that same advantage.
>>

> I am not completely sure that programs built with MinGW-w64/MSYS2
are indeed independent of an installation of this platform. At least
they are not for a default build. I checked this with one of the C
examples: it requires LIBWINPTHREAD-1.DLL and LIBSHP-1.DLL (it seems
to be from the Shapelib library, so not a system DLL) to be present in
the path (of course you can include these in the PLplot distribution).

Hi Arjen:

Sorry, I did not state what I meant very clearly. There is no doubt
that distributions of free software such as Cygwin and MinGW-w64/MSYS2
provide free libraries that are soft dependencies of PLplot such as
the pthread, shapelib, and qhull libraries; the Qt4 suite of libraries, the
Pango/Cairo subset of the GTK+ suite of libraries, wxWidgets, etc.
The availability of those free libraries _with a uniform ABI_ (i.e., all
compiled with exactly the same compiler) is what
makes PLplot so powerful on those platforms.  But the distinction I
was trying to make between Cygwin and MinGW-w64/MSYS2 is the former
also requires an additional (fairly large) dll called cygwin.dll as a
PLplot library dependency while the latter has no such "special" dll
dependency requirement.

> It might be a good idea to find out if the reference to
LIBWINPTHREAD-1.DLL can be eliminated via a static version of that
library. Then I think the program will be entirely independent of the
MinGW-w64 installation. A first glance at the available static
libraries indicates that this is not impossible. It will be a matter
of finding the right compile/link switches.

If you link PLplot libraries with the static versions of all the
different MinGW-w64/MSYS2 libraries that are required for a powerful
PLplot, then you _could_ indeed distribute that powerful result
independent of MinGW-w64/MSYS2.  But I would advise you not to do that
because of all the security concerns implied by binary distribution.
For example, PLplot's reputation is not going to be enhanced if we by
accident (because of an undetected security intrusion on the machine
where we are building the binary version of PLplot) end up
distributing an attack vector to all users' machines.  And this is
true of all platforms and not just Windows.

Therefore, I feel the proper way to deal with the inherent security
issues for binary distribution is to let official distributions of
free software handle that headache.  So I am pleased that Orion is
packaging PLplot for Fedora, Andrew is doing the same thing on Debian
(and indirectly on Debian derivatives such as Ubuntu).  Similarly,
there are PLplot packaging efforts on most other Linux distributions,
the principal Mac OS X distributions Fink, MacPorts, and Homebrew, and
also the principal *BSD variants, FreeBSD, OpenBSD, and NetBSD.

In contrast to that situation, my understanding is that both the
Cygwin and MinGW-w64/MSYS2 platforms do not currently distribute
PLplot.  To fix those important issues we need someone with access to
those two platforms to become a packager for each of them.  Would you
be willing to take on those two additional important roles?  I think
that would be a time-consuming effort to start for you, but after that
required initial burst of activity, I don't think it would take a
major effort to maintain the Cygwin and MinGW-w64/MSYS2 packages for
PLplot going forward.

If it turns out you are interested in becoming the PLplot packager for
either/both those distributions, I think the next steps would be to
query the Cygwin and MSYS2 mailing lists to find out exact details of
how to become a packager of PLplot for those two distributions.

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
__________________________

------------------------------------------------------------------------------
Site24x7 APM Insight: Get Deep Visibility into Application Performance
APM + Mobile APM + RUM: Monitor 3 App instances at just $35/Month
Monitor end-to-end web transactions and take corrective actions now
Troubleshoot faster and improve end-user experience. Signup Now!
http://pubads.g.doubleclick.net/gampad/clk?id=272487151&iu=/4140
_______________________________________________
Plplot-devel mailing list
Plplot-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/plplot-devel

Reply via email to