From: Alan W. I. <ir...@be...> - 2014-03-14 19:36:47
|
Just to remind all of you, the fundamental purpose of epa_build on all platforms is to first build all the PLplot dependencies (especially useful on Windows, but also useful on Linux and Mac OS X), and then finally build and comprehensively test PLplot in a standard way to check for any PLplot regressions that might have been introduced during a release cycle, check PLplot against the latest versions of its dependencies, etc. Andrew Ross and I have had good success with epa_build on Linux, and I have also recently had complete success with the plplot_lite variant of PLplot (i.e., with octave, wxwidgets, pango/cairo, and qt4_lite dependencies dropped) on Windows (MinGW/MSYS/Wine). But there are still some epa_build limitations which I list below. (I am working on the first two of these as part of my current agenda, but all the rest are up for grabs.) * The wxwidgets epa_build configuration is fine on the Windows side of things but still a work in progress on the Unix side because I haven't figured out exactly which subset of the GTK stack of libraries needs to be built to satisfy the Unix side dependency of wxwidgets on GTK. On the Unix side I have so far only configured epa_builds of the pango/cairo subset of GTK which is needed by our cairo device driver. Adding epa_build configurations for a larger subset of the GTK packages should be essentially trivial based on the known jhbuild data for all GTK packages. (See cmake/epa_build/README.developers for the details of how jhbuild configurations are transformed to epa_build configurations.) But I don't want to create a epa_build configuration for every software package in the GTK stack of packages if that is not required to satisfy the wxwidgets Unix dependencies on GTK so I am working on this question by following the trail of Debian dependencies of wxwidgets and hopefully I will be able to get this issue completely sorted out in the next few days. * The qt5_lite epa_build configuration is planned which would enable me to test PLplot against Qt5 (see recent list discussions concerning Qt5). The implementation of this epa_build configuration is currently second on my epa_build agenda. * The qt4_lite build works fine on Linux but has not yet been tested on Windows. * The pango/cairo subset of GTK builds fine on Linux but appears to have a number of problems on Wine. I suspect most of those issues are not due to Wine bugs so I expect they will show up on Microsoft Windows as soon as someone attempts a build of plplot (as opposed to plplot_lite) on that platform. * Currently, the only Plplot configuration tested on Windows is plplot_lite because of some of the Windows limitations mentioned above. Even so, that is already a pretty powerful and comprehensive test of PLplot on Windows since it involves the Ada, C++, Fortran, Python, Lua, and Tcl/Tk bindings and examples and many other PLplot dependencies that are not on the above list of what is dropped for plplot_lite. * Currently epa_build has only been tested on Windows using my (extraordinarily slow) MinGW/MSYS/Wine platform for the plplot_lite case. The Wine developers view any deviation from Microsoft Windows behaviour as a Wine bug. So since it is unlikely that I am by accident taking advantage of some Wine bug to make this work, it should be trivial (and more than an order of magnitude faster than the Wine case) to follow what I have done for the MinGW/MSYS/Microsoft Windows case _if_ the bash.exe environment variable approach I document in cmake/epa_build/README is religiously followed. I also believe it should be straightforward to make the plplot_lite case work on the Cygwin platform and also a Windows platform consisting of the combination of MSYS (bash.exe and other MSYS tools are required for testing PLplot but will not be used for building it in this case) and MSVC. * The epa_build of octave has not been configured. Octave has an enormous number of dependencies (much worse than PLplot), and I have no experience building octave. So I have decided to indefinitely put off working on this epa_build configuration. As a result, the octave component of the plplot epa_build is currently disabled both for plplot and plplot_lite, and it will likely be a long time before this limitation is removed unless someone else is motivated to make this work. 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 __________________________ |