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 __________________________ |