|
From: Alan W. I. <ir...@be...> - 2017-06-20 10:11:53
|
On 2017-06-20 06:37-0000 Arjen Markus wrote:
> Hi everyone,
>
>
>
> I made a small adjustment to the FindwxWidgets.cmake file so that it would properly recognise the installation of wxWidgets under MinGW-w64/MSYS2. CMake was happy with it, but when I tried building PLplot, I got a compiler error:
>
>
>
> Scanning dependencies of target wxwidgets
>
> [ 18%] Building CXX object drivers/CMakeFiles/wxwidgets.dir/wxwidgets.cpp.obj
>
> In file included from D:/plplot-svn/plplot-git/drivers/wxwidgets.h:28:0,
>
> from D:/plplot-svn/plplot-git/drivers/wxwidgets.cpp:41:
>
> D:/plplot-svn/plplot-git/drivers/wxwidgets_comms.h: In member function 'void PLMemoryMap::initializeSemaphoresToValid(const char*)':
>
> D:/plplot-svn/plplot-git/drivers/wxwidgets_comms.h:219:64: error: 'm_threeSemaphores' was not declared in this scope
>
> void initializeSemaphoresToValid( const char *baseName ) { m_threeSemaphores.initializeToValid( baseName ); }
>
> ^~~~~~~~~~~~~~~~~
>
> make[2]: *** [drivers/CMakeFiles/wxwidgets.dir/build.make:64: drivers/CMakeFiles/wxwidgets.dir/wxwidgets.cpp.obj] Error 1
>
> make[1]: *** [CMakeFiles/Makefile2:3396: drivers/CMakeFiles/wxwidgets.dir/all] Error 2
>
> make: *** [Makefile:161: all] Error 2
>
> Can anyone shed some light on this problem? I am not at all familiar with the code.
In general, many small focussed commits (each with a good commit message) are
better than one massive commit. So please go ahead and commit your
change to cmake/modules/FindwxWidgets.cmake immediately. Is there also
a Tcl change you are holding back from committing? If so, please
make a separate commit for that as well.
To answer your question, anything to do with three semaphores involves
my "new" wxwidgets IPC code that I finished several months ago. That
code works well on Linux, but my request to Phil to test that code on
Windows at that time must have gotten lost in his e-mail stack for
PLplot. So thanks very much for this first Windows test of my code!
>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.
Best wishes,
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
__________________________
|