On 2014-03-17 10:04-0700 phil rosenberg wrote:

> Hi Alan

> I've never tried building wxWidgets from source on Linux - I just
installed the dev packages on my Ubuntu machine - which is only 2.8.12
I think.

That old version of wxwidgets for a typical Linux distribution case is
a problem when attempting to future-proof PLplot against new versions
of wxwidgets.  See comment below.

> One item that might be of note. For 3.0 I believe they have
essentially depreciated the ability to switch off Unicode so that
Unicode should always be enabled. The wxString class has changed in a
number of ways along with this and I thinkĀ the intention is to
eventually depreciate wxString and use std::string instead. So I think
going down any route that disables Unicode is a bade move.

Agreed, but disabling unicode was just a temporary experiment made in
desperation to try and figure out the wxwidgets-3.0.0 build-system bug
with a separate build tree.  The committed version of epa_build
definitely does not drop unicode, and there are no plans to ever do so
since unicode is very important to PLplot.

> Regarding building on a separate tree, you might have to specify
exactly what you mean - presumably building so that the libraries and
build files end up in a different location?

Create an empty build directory, cd to there, and then run the full
path of the wxwidgets configure file from that empty build directory
followed by the normal build from that build directory. That is a
standard way to avoid messing up the source tree with build attempts
for the autotools case which works fine for older versions of
wxwidgets, but which fails for wxwidgets-3.0.0. Instead, you must cd
to the top of the source tree for wxwidgets-3.0.0 and run configure
from there (which messes up that source tree so for each build you
have to download a fresh version which is why building in the source
tree should be avoided if at all possible).

> Again I cannot really
speak for the Linux side of things, but on Windows wxWidgets provide a
visual studio .sln file to build with, which puts all the libraries in
"known" locations and it is these locations that are then searched by
CMake on Windows. I'm not really sure what is gained by building to an
external tree to warrant an uphill struggle against a system that
works.

To answer that last question, one motivation for the epa_build project
is to allow Windows users to conveniently build PLplot dependencies.
But another equally important motivation is to allow PLplot developers
to future-proof PLplot by running it against the very latest versions
of all dependent software. For example, because of epa_build the
PLplot developers with access to Linux platforms now have an
opportunity to follow on the Linux platform your experiments with
wxwidgets-3.0.0 on the Windows platform, and thus help to support your
work.  At the same time it gives us the opportunity to make PLplot
ready on the Linux side when most Linux distributions move to
wxwidgets-3.0.0.

> Regarding the runtime errors, I don't see those on Windows. There
are no mouse move issues. However I think there are screen refresh
issues when the screen resizes. When you say the examples hang, are
they really hanging or are the windows just not refreshing? So for
example 8, plplot flushes to screen a few times during the rendering
of each plot. Do you see the same thing on Linux? If you wait a few
seconds then move your mouse does the whole plot appear in one?

Actually example 8 appears in roughly 3 sections (very likely
corresponding to the screen flushes you mention) per page.  If you
don't touch the mouse, the plot pauses after the first 45 per cent or
so of the page.  If you move it then, the second chunk of the plot is
plotted.  And if you move it again the final tiny chunk of the plot is
plotted (for a given page).  To answer your specific question, if I
don't move the mouse for a minute the plot remains frozen, but the
next chunk of the plot on a given page is plotted whenever I move the
mouse. Once an example 8 page has been completed this way, then you
have to hit the enter key to move to the next page (as normal). This
behaviour repeats for each page of that plot.  So it appears your
hypothesis that it is likely a screen refresh issue is a good one.

I think the same hypothesis would explain the example 17 issue since
large numbers of screen refreshes are known to be occurring in that
case.  But those large numbers of screen refreshes confuses
things so I suggest you ignore example 17 for now and concentrate
instead on fixing all aspects of screen refreshes for example 8.

I am now wondering if the PLplot wxwidgets device driver waits
to do a screen refresh until there is mouse activity.  That would
be one (bad) way to deal with screen resizing issues and would also
explain the screen refresh problems I see for example 8.

> I think the screen refresh issue is specific to wxplapp, because I
don't see them in my own code which uses its own wxApp which is a lot
simpler as it doesn't have to be started from the command line
interface.

> Regarding anything GTK related, that cannot exist on a Windows
system as wxWidgets uses native OSĀ APIs to give native look and feel.

Understood.  Thus, the epa_build configuration for wxwidgets has no
gtk+ dependency for the Windows case, see
cmake/epa_build/CMakeLists.txt.  I just now realized that the gtk=3
configure option for wxwidgets-3.0.0 was probably also problematic on
Windows so I have removed that for the Windows case (revision 13081).

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
__________________________

------------------------------------------------------------------------------
Learn Graph Databases - Download FREE O'Reilly Book
"Graph Databases" is the definitive new guide to graph databases and their
applications. Written by three acclaimed leaders in the field,
this first edition is now available. Download your free book today!
http://p.sf.net/sfu/13534_NeoTech
_______________________________________________
Plplot-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/plplot-devel

Reply via email to