Today I decided to comprehensively test PLplot because it has been a
long time since I did that, and there is a new CMake version 
cmake-2.8.11-rc3 that is about to get released as cmake-2.8.11 unless
cmake users (such as us) can find any issues.

After cmake-2.8.11-rc3 was downloaded, built (using the bootstrap
method), and installed, I did the comprehensive test as follows:

time (nice -19 scripts/comprehensive_test.sh --do_test_interactive no)

(I turned off the interactive testing since otherwise I would have
had to babysit the test clicking on many GUI's to get the interactive
tests completed.)

That comprehensive test required a number of minor PLplot fixups to be
made (see my recent commits) which reaffirms that these comprehensive
tests are worth doing.

After those changes, the above run of comprehensive_test.sh took
51 minutes to complete (and from
prior notes) on my entry-level PC and requires about 4GB of disk space
as a high-water mark to store the results of each of the many
components of the tests that are done before the resulting files are
cleaned.  There were about 290M of files left at the end of the
comprehensive test.

To look for meaningful error messages in those tests, I ran

find ../comprehensive_test_disposeable/ -name "*.out*" | \
xargs grep -i error |grep -v test.error

That shows there are linking errors for the case of the static library
build + traditional (Make + pkg-config) build of the installed
examples.  This used to work fine, but I guess the Debian wheezy
toolchain just doesn't handle this case properly any more (or takes
more care with linking of code generated from a variety of languages).
Note, I got the same bad results for this case when using
cmake-2.8.10.2 so this is not a cmake regression.

Andrew, would you be willing to take a look?

In contrast to the traditional build of the installed examples, the
CMake build system for these installed examples works fine for the
static library build.  So it appears we could fix up these
linking issues for the traditional build by following what
is done for the cmake-based build of the installed examples.

I also looked for warnings in the comprehensive test results and
got the following results:

software@raven> find ../comprehensive_test_disposeable/ -name "*.out*" | \
xargs grep -i warn |grep -v imultilib |grep -v  "PLPLOT WARNING" | \
grep -v perl |grep -v AGG
../comprehensive_test_disposeable/shared/output_tree/installed_make_noninteractive.out:WARNING:
 Some PostScript or stdout results were different
../comprehensive_test_disposeable/shared/output_tree/make_noninteractive.out:WARNING:
 Some PostScript or stdout results were different
../comprehensive_test_disposeable/shared/output_tree/ctest.out:25: WARNING: 
Some PostScript or stdout results were different
../comprehensive_test_disposeable/shared/output_tree/make.out:sip: Deprecation 
warning: 
/home/software/plplot_svn/HEAD/plplot_allura/bindings/qt_gui/pyqt4/plplot_pyqt4.sip:25:
 %Module version number should be specified using the 'version' argument
../comprehensive_test_disposeable/shared/output_tree/make.out:/home/software/plplot_svn/HEAD/comprehensive_test_disposeable/shared/build_tree/config.h:55:0:
 warning: "HAVE_FREETYPE" redefined [enabled by default]
../comprehensive_test_disposeable/shared/output_tree/make.out:/home/software/plplot_svn/HEAD/plplot_allura/bindings/tk/plserver.c:134:9:
 warning: passing argument 2 of ‘Tcl_SetResult’ discards ‘const’ qualifier from 
pointer target type [enabled by default]
../comprehensive_test_disposeable/shared/output_tree/traditional_make_noninteractive.out:WARNING:
 Some PostScript or stdout results were different
../comprehensive_test_disposeable/nondynamic/output_tree/installed_make_noninteractive.out:WARNING:
 Some PostScript or stdout results were different
../comprehensive_test_disposeable/nondynamic/output_tree/make_noninteractive.out:WARNING:
 Some PostScript or stdout results were different
../comprehensive_test_disposeable/nondynamic/output_tree/cmake.out:-- WARNING: 
ENABLE_DYNDRIVERS is OFF so force PLD_extqt to be OFF
../comprehensive_test_disposeable/nondynamic/output_tree/cmake.out:-- WARNING: 
PLD_extqt is OFF so setting ENABLE_qt to OFF.
../comprehensive_test_disposeable/nondynamic/output_tree/cmake.out:-- WARNING: 
ENABLE_qt is OFF so setting ENABLE_pyqt4 to OFF.
../comprehensive_test_disposeable/nondynamic/output_tree/ctest.out:25: WARNING: 
Some PostScript or stdout results were different
../comprehensive_test_disposeable/nondynamic/output_tree/make.out:/home/software/plplot_svn/HEAD/comprehensive_test_disposeable/nondynamic/build_tree/config.h:55:0:
 warning: "HAVE_FREETYPE" redefined [enabled by default]
../comprehensive_test_disposeable/nondynamic/output_tree/make.out:/home/software/plplot_svn/HEAD/plplot_allura/bindings/tk/plserver.c:134:9:
 warning: passing argument 2 of ‘Tcl_SetResult’ discards ‘const’ qualifier from 
pointer target type [enabled by default]
../comprehensive_test_disposeable/nondynamic/output_tree/traditional_make_noninteractive.out:WARNING:
 Some PostScript or stdout results were different
../comprehensive_test_disposeable/static/output_tree/installed_make_noninteractive.out:WARNING:
 Some PostScript or stdout results were different
../comprehensive_test_disposeable/static/output_tree/make_noninteractive.out:WARNING:
 Some PostScript or stdout results were different
../comprehensive_test_disposeable/static/output_tree/cmake.out:-- WARNING: Java 
requires shared libraries. Disabling java bindings
../comprehensive_test_disposeable/static/output_tree/cmake.out:-- WARNING: 
Python requires shared libraries. Disabling Python bindings
../comprehensive_test_disposeable/static/output_tree/cmake.out:-- WARNING: 
Octave requires shared libraries. Disabling octave bindings
../comprehensive_test_disposeable/static/output_tree/cmake.out:-- WARNING: 
Disabling Perl/PDL examples because BUILD_SHARED_LIBS=OFF
../comprehensive_test_disposeable/static/output_tree/cmake.out:-- WARNING: Lua 
requires shared libraries. Disabling Lua bindings
../comprehensive_test_disposeable/static/output_tree/cmake.out:-- WARNING: 
Shared libraries not built. Setting ENABLE_DYNDRIVERS OFF.
../comprehensive_test_disposeable/static/output_tree/cmake.out:-- WARNING: 
ENABLE_DYNDRIVERS is OFF so force PLD_extqt to be OFF
../comprehensive_test_disposeable/static/output_tree/cmake.out:-- WARNING: 
PLD_extqt is OFF so setting ENABLE_qt to OFF.
../comprehensive_test_disposeable/static/output_tree/cmake.out:-- WARNING: 
ENABLE_python is OFF so setting ENABLE_pyqt4 to OFF.
../comprehensive_test_disposeable/static/output_tree/cmake.out:-- 
WARNING:Static build with ENABLE_ocaml_static false.  Therefore, disabling 
ocaml bindings
../comprehensive_test_disposeable/static/output_tree/ctest.out:20: WARNING: 
Some PostScript or stdout results were different
../comprehensive_test_disposeable/static/output_tree/make.out:/home/software/plplot_svn/HEAD/plplot_allura/bindings/tk/plserver.c:134:9:
 warning: passing argument 2 of ‘Tcl_SetResult’ discards ‘const’ qualifier from 
pointer target type [enabled by default]

Most of these warnings are harmless, but it would be good to get rid of
all of warnings associated with "sip: Deprecation", the HAVE_FREETYPE 
redefinition, the
plserver.c build, and the "WARNING: Some PostScript or stdout results
were different" message.  That latter is because the changes to
examples/c/x16c.c have not been propagated only to examples/c++ so far.
Here is the detailed report covering that:

c++
   Missing examples            :
   Differing postscript output :
   Missing stdout              :
   Differing stdout            : 
f95
   Missing examples            :
   Differing postscript output :  16
   Missing stdout              :
   Differing stdout            : 
java
   Missing examples            :
   Differing postscript output :  16
   Missing stdout              :
   Differing stdout            : 
octave
   Missing examples            :
   Differing postscript output :  16
   Missing stdout              :
   Differing stdout            : 
python
   Missing examples            :
   Differing postscript output :  16
   Missing stdout              :
   Differing stdout            : 
tcl
   Missing examples            :
   Differing postscript output :  16
   Missing stdout              :
   Differing stdout            : 
ada
   Missing examples            :
   Differing postscript output :  16
   Missing stdout              :
   Differing stdout            : 
adathick
   Missing examples            :
   Differing postscript output :  16
   Missing stdout              :
   Differing stdout            : 
ocaml
   Missing examples            :
   Differing postscript output :  16
   Missing stdout              :
   Differing stdout            : 
lua
   Missing examples            :
   Differing postscript output :  16
   Missing stdout              :
   Differing stdout            : 
d
   Missing examples            :
   Differing postscript output :  16
   Missing stdout              :
   Differing stdout            :

In sum these comprehensive tests indicate no issues for
cmake-2.8.11-rc3, serious linking issues for the
traditional build of the installed examples for the static
library case (these occur also for cmake-2.8.10.2); less serious
warnings detailed above which should nevertheless be
fixed, and example 16 propagation issues which should be fixed.

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
__________________________

------------------------------------------------------------------------------
Try New Relic Now & We'll Send You this Cool Shirt
New Relic is the only SaaS-based application performance monitoring service 
that delivers powerful full stack analytics. Optimize and monitor your
browser, app, & servers with just a few lines of code. Try New Relic
and get this awesome Nerd Life shirt! http://p.sf.net/sfu/newrelic_d2d_apr
_______________________________________________
Plplot-devel mailing list
Plplot-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/plplot-devel

Reply via email to