On 2017-06-20 13:18-0000 Arjen Markus wrote:

From the error message above, something is obviously wrong with the build for 
that
case, but it likely is something very simple (e.g., likely a missing #ifdef 
WIN32
section inside an existing #ifdef
PL_WXWIDGETS_IPC3 section in drivers/wxwidgets_comms.h) that I forgot to do
with those three-semaphore changes for the Windows case.  So if you don't beat
me to a solution, I will take a look at finding this Windows build fix for 
wxwidgets
starting ~8 hours or so from now after I get some sleep.

Hm, it seems to be due to the simpleness of the condition: #ifdef WIN32 - quite probably 
this is defined for MinGW-w64/MSYS2 to indicate that the platform is "Windowy". 
So a refinement is required. I will see what I can do here.

To Arjen and Phil:

Actually, I think the simpleness of that condition should be fine on
MinGW-w64/MSYS2.  After all, in that case you are building a native
Windows version of PLplot where everything inside the #ifdef WIN32
stanzas should be available.

Also now that I have finally found a partner who is willing to test
the wxwidgets IPC methods on a native Windows platform, I have a
number of IPC build system and code changes in mind.

If you have looked at the code at all now, you can see it is a bit of
a complex #ifdef thicket that is therefore hard to understand by
definition.  But (see cmake/modules/wxwidgets.cmake) the macro
PL_HAVE_UNNAMED_POSIX_SEMAPHORES is permanently disabled.  That
disablement (done several months ago) is because although the #ifdef
PL_HAVE_UNNAMED_POSIX_SEMAPHORES code stanzas currently work in the
Linux case, they are superseded by the named semaphores approach that
works for all POSIX platforms including Linux. So my first order of
business is to follow up on that permanent disablement by
removing all #ifdef PL_HAVE_UNNAMED_POSIX_SEMAPHORES code stanzas
(and, in fact, all references to PL_HAVE_UNNAMED_POSIX_SEMAPHORES in
our source tree) to reduce the #ifdef complexity of the IPC code.

Also, if you look at cmake/modules/wxwidgets.cmake you will see the
macro PL_WXWIDGETS_IPC3 is permanently enabled.  My second order of
business is to turn that temporarily back into an option which will be
ON by default.  The old IPC code that is enabled when that option is
turned OFF by the user used to work OK on both Windows and Linux.  So
turning this temporarily back into an option should allow us to test
both -DPL_WXWIDGETS_IPC3 ON and OFF on both Linux and Windows.
Previously -DPL_WXWIDGETS_IPC3 OFF worked OK on both the Linux
platform and the native Windows MSVC platform so my guess is it should
also work on MinGW-w64/MSYS2 to provide a benchmark to test how well
-DPL_WXWIDGETS_IPC3 ON works on that platform.  And ultimately once we
make the code corrections so that -DPL_WXWIDGETS_IPC3 ON builds and
runs fine on that native Windows platform, I intend to remove all
the "old" IPC code that is used when -DPL_WXWIDGETS_IPC3 OFF in the
interests of reducing complexity.

@Phil: your participation in these proposed IPC tests in the MSVC case
(or any platform you can get your hands on) would be most welcome. And
if you could let Arjen know your source of reliable wxwidgets
libraries for the MSVC case, that would be most welcome as well.

More later...

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
__________________________

------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Plplot-devel mailing list
Plplot-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/plplot-devel

Reply via email to