Back in March 2014, I took the first tentative steps to change our
build system to support Qt5, and after delay due to (1) lack of access
to Qt5 that was resolved recently and (2) the completely different
nature of Qt4 versus Qt5 CMake support, I have finally matured that
project tonight (commit 34db4b3).  The result is perfect comprehensive
test results for both the Qt5 and Qt4 cases.

Note carefully (see the commit message for the details) the semantics
of PLPLOT_USE_QT5 have considerably changed, and most users will just
take the default -DPLPLOT_USE_QT5=OFF case here (which means our build
system will first look for Qt4, and if that fails look for Qt5).  But
if a user actively dislikes the Qt4 choice, then they can force the
build system to skip the stage looking for Qt4 by specifying
-DPLPLOT_USE_QT5=ON.

The reason why our build system makes Qt4 the first preference by
default is that library has no character misalignment issues or memory
management issues on my Debian Jessie system while Qt5 still shows
both kinds of errors. Furthermore, and this is a real killer for Qt5
until the Qt developers fix this significant inefficiency, our qt
devices (which use exactly the same Qt API regardless of whether our
build system finds Qt4 or Qt5) are a factor of two faster for Qt4 than
they are for Qt5! (For example, the comprehensive tests for the
present commit took 36 minutes for Qt4 and 71 minutes for Qt5.)

With Debian Jessie, I have demonstrated that "perfect" (i.e., no
character misalignment or memory management issues) Qt4 library suites
do exist but, as far as I know, nobody has yet found a "perfect" Qt5
library suite. Of course, it is still quite possible that various
software distros inadvertently screw up Qt4 so that it is actually
worse than Qt5 with regard to, e.g., memory management. Apparently
Hazen has found one such distribution so he might want to specify
-DPLPLOT_USE_QT5=ON for that particular distribution (or, better yet,
move to a distribution that supports Qt a lot better).  But unless the
good Qt4, mediocre Qt5 results on Debian Jessie are atypical, I plan
to keep the present Qt4 preference of our build system.

In sum, commit 34db4b3 is a major step in the march to the freeze date one
week from now and finishes my planned Qt-related activity, but I hope
to do a lot more on non-Qt topics before that date.

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
__________________________

------------------------------------------------------------------------------
_______________________________________________
Plplot-devel mailing list
Plplot-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/plplot-devel

Reply via email to