Here is the current summary of how PLplot works on MinGW/MSYS/Wine I don't have diff installed yet so I caught and fixed a build system error in that case (revision 10887). I also fixed another test system error where wincairo was not being configured properly for interactive tests.
I hoped with MinGW to get access to C, C++, f77, f95, Java, and Ada. Ada doesn't work because my Ada language support is not Windows-ready (It skips all Platform file checks, for example.) There are no near-term prospects for fixing that because I have real trouble following the CMake language support magic that is required. Java doesn't work because I haven't installed Windows swig yet. That binary download of the Windows version of swig is a real mess. swig.exe is in the same directory as a whole lot of other arbitrary files rather than in "bin" so if you put that directory on your PATH, it would be easy to "execute" all kinds of stuff by accident. I am going to try to make a separate bin directory and put swig.exe in there, but swig.exe may only work if it is in the original location relative to the rest of the Windows swig download. Arjen, Werner, or Hazen: have you guys tried windows swig yet, and if so, did you worry about this issue? f95 doesn't work because of the module parenthesis issue I discussed before here and reported to the MinGW bug tracker. C++ doesn't work. The C++ tests are incorrectly being replaced by improperly initialized Fortran tests which then screw up. More CMake language support infrastructure magic going wrong! See my recent posts on the CMake list. I did get qhull built and installed without issues (once I updated the relevant CMakeLists.txt file slightly beyond Werner's merge of all our previous ideas for the qhull build). Thanks, Werner, for your help with this. I have noticed that CMake find commands on Wine sometimes "leak" through and find stuff on Linux instead if there is no Windows file of the right type to be found. This happened with the qhull headers until I fixed the MinGW qhull build to install the private headers (which PLplot needs). It also happens with Tcl (I don't have the Windows version of that installed yet). I suspect this issue is an inevitable consequence of the Wine platform running on top of Linux. The only solution is to be careful and remove options in advance that you know are not available yet on Wine because you haven't done the appropriate binary download of the needed Windows package. Here is the current set of options I am using for the MinGW/MSYS/Wine build: cmake -G "MSYS Makefiles" -DBUILD_TEST=ON -DENABLE_ada=OFF \ -DENABLE_tcl=OFF -DENABLE_cxx=OFF -DENABLE_f95=OFF \ /z/home/software/plplot_svn/HEAD/plplot_cmake_qt >& cmake.out The results are ENABLE_DYNDRIVERS: ON DRIVERS_LIST: cairo;mem;null;ps;svg;wingcc;xfig DEVICES_LIST: extcairo;pdfcairo;pngcairo;pscairo;svgcairo;wincairo;mem;null;ps;svg;wingcc;xfig Library options: BUILD_SHARED_LIBS: ON PL_DOUBLE: ON Optional libraries: HAVE_QHULL: ON WITH_CSA: ON HAVE_FREETYPE: HAVE_PTHREAD: HAVE_AGG: Language Bindings: ENABLE_f77: ON ENABLE_f95: OFF with everything after that set to OFF. So I am just testing C and f77 right now, and a rather limited number of devices, but hopefully C++ will come courtesy of the CMake devels, and Fortran95 will come courtesy of the MinGW devels. Other language components such as Java, Python, and Tcl may just be a download/unpack away. I looked at the cairo, ps, and psc file results generated by the test_noninteractive target for examples 1, 8, 16, 23, and 24. All was well except for * -dev pngcairo had bad rendering. e.g., bad vertical labels of example 1, bad 3D axis labels of example 8. Other cairo file devices did not have this issue, but -dev wincairo did, see below. * Limited language fonts in example 24 for most devices. -dev svg (but not -dev svgcairo) was the one exception because it defers font choice to when the svg file is viewed (in this case with the display app on my Linux system). I presume these limited fonts are due to Wine having a limited Windows selection of language fonts. There seemed to be an excellent selection of Mathematical fonts available under Wine for the cairo devices as shown by example 23 results. Two interesting results (at least for me) were that -dev wingcc and -dev wincairo worked under Wine, i.e., Wine is converting the Windows graphics calls to underlying Linux X calls on the fly without obvious issues such as segfaults, etc. This is the first time ever I have seen -dev wingcc and -dev wincairo results. -dev wingcc had one issue that I noticed when running the test_interactive target; example 17 did not erase previous plots when the axes were rescaled. Could one of the windows dev's please take a look and fix this? -dev wincairo had a number of issues. * Bad rendering exactly the same as noted for pngcairo above but not for other cairo devices. * Option -np (no pause) does not work properly with wincairo. The Window comes up, but the plot is never rendered. This affects all test_interactive target results with this device since those are done with -np to reduce/eliminate mouse clicks during this test. * examples/c/x17c -dev wincairo produces the correct plot at the end but with no interactivity. * wincairo is much slower (at least 10x but probably much more) than wingcc. That's when I run directly at the X server, but if I run remotely over a LAN using an X-terminal, wincairo gets still slower with a saturated LAN network. xcairo also had all the above issues in its early days and they were overcome one by one until the final one (speed) was knocked off quite recently by Hez's dirty rectangle implementation. Hazen, do you think it would be straightforward to adopt the xcairo fixes for wincairo to blow away all the above -dev wincairo issues in short order? Once CXX works under CMake for MinGW/MSYS/Wine, then I should be ready to test the qt file and qtwidget devices. In the qtwidgets case, I think Windows Qt will render all results using Windows graphics calls which will then be translated to underlying Linux X calls by Wine. So it will be interesting to compare its speed with -dev wingcc and -dev wincairo. 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); PLplot scientific plotting software package (plplot.org); 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 __________________________ ------------------------------------------------------------------------------ Download Intel® Parallel Studio Eval Try the new software tools for yourself. Speed compiling, find bugs proactively, and fine-tune applications for parallel performance. See why Intel Parallel Studio got high marks during beta. http://p.sf.net/sfu/intel-sw-dev _______________________________________________ Plplot-devel mailing list Plplot-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/plplot-devel