From: Alan W. I. <ir...@be...> - 2017-08-16 22:59:18
|
On 2017-08-16 06:19-0000 Arjen Markus wrote: > [See] the attached tarball [...] I analyzed your unpacked report tarball using the following commands: # Check for any warning regressions in the cmake output. less shared/noninteractive/output_tree/cmake.out The only issue I found that was related to your platform installation was a consistent version of itcl could not be found, see further comment below about that. # Check for any files that are not from MinGW-w64/MSYS2. This is a # critical check for most of your comprehensive test results because # you have at least 3 platforms (MinGW-w64/MSYS2, Cygwin, and MSVC) # installed, and the first two of those should never use files from a # different platform. This is also true of the MSVC platform with the # notable exception of just the Unix tools (but not the libraries) from # MinGW-w64/MSYS2 that you need to test the MSVC platform. grep -E '/|\\' shared/noninteractive/build_tree/CMakeCache.txt shared/noninteractive/output_tree/* \ |grep -Ev '//|mingw64-2|comprehensive_test_disposeable|CMakeFiles/|test_examples_output_dir|Test *#|plplot-svn/plplot-git|/dll/|test_dyndrivers_dir/|/plplot-test.sh|Output file name is' shared/noninteractive/build_tree/CMakeCache.txt:COMDLG32_LIBRARY:FILEPATH=C:/Windows/System32/comdlg32.dll shared/noninteractive/build_tree/CMakeCache.txt:CYGWIN_INSTALL_PATH:PATH=C:/cygwin64 shared/noninteractive/build_tree/CMakeCache.txt:GDI32_LIBRARY:FILEPATH=C:/Windows/System32/gdi32.dll shared/noninteractive/build_tree/CMakeCache.txt:PERL_EXECUTABLE:FILEPATH=C:/cygwin64/bin/perl.exe shared/noninteractive/build_tree/CMakeCache.txt:PL_FREETYPE_FONT_PATH:PATH=c:/windows/fonts shared/noninteractive/build_tree/CMakeCache.txt:TCL_INCLUDE_PATH:PATH=C:/Tcl/include shared/noninteractive/build_tree/CMakeCache.txt:TCL_TCLSH:FILEPATH=C:/Tcl/bin/tclsh.exe shared/noninteractive/build_tree/CMakeCache.txt:TK_INCLUDE_PATH:PATH=C:/Tcl/include shared/noninteractive/build_tree/CMakeCache.txt:TK_WISH:FILEPATH=C:/Tcl/bin/wish.exe shared/noninteractive/build_tree/CMakeCache.txt:TTK_STUB_LIBRARY:FILEPATH=C:/Tcl/lib/ttkstub.lib shared/noninteractive/build_tree/CMakeCache.txt:WWW_DIR:STRING=/home/groups/p/pl/plplot/htdocs/docbook-manual shared/noninteractive/build_tree/CMakeCache.txt:XML_DECL:STRING=/usr/share/xml/declaration/xml.dcl shared/noninteractive/build_tree/CMakeCache.txt:FIND_PACKAGE_MESSAGE_DETAILS_Perl:INTERNAL=[C:/cygwin64/bin/perl.exe][v5.22.4()] shared/noninteractive/build_tree/CMakeCache.txt:FIND_PACKAGE_MESSAGE_DETAILS_Tclsh:INTERNAL=[C:/Tcl/bin/tclsh.exe][v8.6()] shared/noninteractive/output_tree/cmake.out:-- Looking for DIR symbol in sys/types.h;dirent.h shared/noninteractive/output_tree/cmake.out:-- Looking for DIR symbol in sys/types.h;dirent.h - found shared/noninteractive/output_tree/cmake.out:-- Found Perl: C:/cygwin64/bin/perl.exe (found version "5.22.4") shared/noninteractive/output_tree/cmake.out:-- Found Tclsh: C:/Tcl/bin/tclsh.exe (found version "8.6") shared/noninteractive/output_tree/cmake.out:-- TCL_INCLUDE_PATH = C:/Tcl/include shared/noninteractive/output_tree/cmake.out:-- TCL_TCLSH = C:/Tcl/bin/tclsh.exe shared/noninteractive/output_tree/cmake.out:-- TK_INCLUDE_PATH = C:/Tcl/include shared/noninteractive/output_tree/cmake.out:-- TK_WISH = C:/Tcl/bin/wish.exe shared/noninteractive/output_tree/cmake.out:-- TKLIB_COMPILE_FLAGS = -I"C:/Tcl/include" shared/noninteractive/output_tree/cmake.out:-- ntk_COMPILE_FLAGS = -I"C:/Tcl/include" -I"C:/Tcl/include" shared/noninteractive/output_tree/cmake.out: and/or set the environment variable PKG_CONFIG_PATH appropriately. shared/noninteractive/output_tree/cmake.out:-- WARNING: Perl modules XML::Parser and/or XML::DOM not available shared/noninteractive/output_tree/installed_make_noninteractive.out:c/ext-cairo-test.exe -drvopt set_background=1 shared/noninteractive/output_tree/traditional_clean.out:rm -f *.psc *.pdfcairo *.pngcairo *.pscairo *.svgcairo \ shared/noninteractive/output_tree/traditional_clean.out:*.gif *.jpeg *.png *.psttfc *.svg *.xfig *.pstex* *.*qt *.cgm \ shared/noninteractive/output_tree/traditional_clean.out:*_*.txt test.error \ shared/noninteractive/output_tree/traditional_make_noninteractive.out:./test_diff.sh The above initial grep search for either "/" or "\" searches for all filenames in those files and the trailing grep -vE stanza above eliminates all instances where these forms of filenames should be expected for this platform. So what is left is quite interesting! >From these results there appears to be at least the following three issues: * The package containing tclsh.exe needs to be found with pkgfile and installed (to avoid finding the non-MSYS2 version of tclsh.exe in C:/Tcl). Or if this package is already installed, some adjustment of environment variables needs to be made (or C:Tcl has to be removed altogether) to avoid finding the "C:/Tcl" version of tclsh.exe. * The package containing wish.exe probably needs to be installed (to avoid finding the "C:/Tcl" version). * The package containing perl.exe needs to be installed (to avoid finding the non-MSYS2 Cygwin version). The first issue is obviously critical. So you need to solve it before running this test again. This critical improvement will very likely also solve another problematic issue that I noticed (above) which is that a consistent version of itcl could not be found by our build system with the (incorrect for this platform) "C:/Tcl" version of Tcl/Tk. The second issue should be trivial to fix now that pkgfile is working properly for you. Of course, X is not present on this platform so our build system drops all our Tk-related components other than ntk (our only Tk component that is currently independent of X). So I am not sure how much PLplot actually uses wish.exe on this platform. Nevertheless, if pkgfile gives you a clear choice of package here, I would advise installing that package. The net result should be no references to "C:/Tcl" anywhere. The third of these issues is similar to the git one, i.e., it should be trivial to fix now that pkgfile is working properly for you, but it is not a critical issue so it can be put off to post-release if you so desire. # Check for some non-standard warnings: grep -i warning */*/output_tree/*.out \ |grep -vE 'cmake.out|ctest.out' \ |grep -vE 'PLPLOT WARNING|PRIVATE|deprecated|Resource leak|2 problems|Some graphical or stdout' # Check for any ldd issues for the shared and nondynamic cases. grep -iE 'found|symbol|undefined' */*/output_tree/*ldd.out # Check for any PostScript or Text differences between all non-C languages # and the corresponding C results. grep -B1 -A3 "Missing examples" */*/output_tree/*.out |less # Check for all errors: grep -i error */*/output_tree/*.out The previous checks were fine, but this last one yielded static/noninteractive/output_tree/ctest.out:Errors while running CTest which was due to a timeout error for the epsqt case which stopped the static testing part of our test rather early in that part of the comprehensive test. To investigate this test error further, here is the summary for your MinGW-w64/MSYS2 platform of the times taken by all the ctests for the qt devices for our three major configurations (shared, nondynamic, and static) irwin@raven> grep 'Test #.*examples_.*qt' */*/output_tree/ctest.out nondynamic/noninteractive/output_tree/ctest.out:12/24 Test #12: examples_epsqt ................... Passed 278.76 sec nondynamic/noninteractive/output_tree/ctest.out:13/24 Test #13: examples_pdfqt ................... Passed 313.22 sec nondynamic/noninteractive/output_tree/ctest.out:14/24 Test #14: examples_bmpqt ................... Passed 87.16 sec nondynamic/noninteractive/output_tree/ctest.out:15/24 Test #15: examples_jpgqt ................... Passed 172.39 sec nondynamic/noninteractive/output_tree/ctest.out:16/24 Test #16: examples_pngqt ................... Passed 58.65 sec nondynamic/noninteractive/output_tree/ctest.out:17/24 Test #17: examples_ppmqt ................... Passed 87.78 sec nondynamic/noninteractive/output_tree/ctest.out:18/24 Test #18: examples_tiffqt .................. Passed 88.26 sec nondynamic/noninteractive/output_tree/ctest.out:19/24 Test #19: examples_svgqt ................... Passed 154.18 sec shared/noninteractive/output_tree/ctest.out:12/24 Test #12: examples_epsqt ................... Passed 339.58 sec shared/noninteractive/output_tree/ctest.out:13/24 Test #13: examples_pdfqt ................... Passed 338.77 sec shared/noninteractive/output_tree/ctest.out:14/24 Test #14: examples_bmpqt ................... Passed 129.30 sec shared/noninteractive/output_tree/ctest.out:15/24 Test #15: examples_jpgqt ................... Passed 215.66 sec shared/noninteractive/output_tree/ctest.out:16/24 Test #16: examples_pngqt ................... Passed 133.00 sec shared/noninteractive/output_tree/ctest.out:17/24 Test #17: examples_ppmqt ................... Passed 131.41 sec shared/noninteractive/output_tree/ctest.out:18/24 Test #18: examples_tiffqt .................. Passed 171.87 sec shared/noninteractive/output_tree/ctest.out:19/24 Test #19: examples_svgqt ................... Passed 155.59 sec static/noninteractive/output_tree/ctest.out:10/22 Test #10: examples_epsqt ...................***Timeout 1500.12 sec static/noninteractive/output_tree/ctest.out:11/22 Test #11: examples_pdfqt ................... Passed 1437.34 sec static/noninteractive/output_tree/ctest.out:12/22 Test #12: examples_bmpqt ................... Passed 68.43 sec static/noninteractive/output_tree/ctest.out:13/22 Test #13: examples_jpgqt ................... Passed 48.88 sec static/noninteractive/output_tree/ctest.out:14/22 Test #14: examples_pngqt ................... Passed 54.99 sec static/noninteractive/output_tree/ctest.out:15/22 Test #15: examples_ppmqt ................... Passed 58.35 sec static/noninteractive/output_tree/ctest.out:16/22 Test #16: examples_tiffqt .................. Passed 101.99 sec static/noninteractive/output_tree/ctest.out:17/22 Test #17: examples_svgqt ................... Passed 90.05 sec For comparison purposes here are the equivalent times taken here for the same ctests on my Debian Jessie platform: software@raven> grep 'Test #.*examples_.*qt' */*/output_tree/ctest.out nondynamic/noninteractive/output_tree/ctest.out:17/31 Test #19: examples_bmpqt ................... Passed 50.79 sec nondynamic/noninteractive/output_tree/ctest.out:18/31 Test #18: examples_pdfqt ................... Passed 57.25 sec nondynamic/noninteractive/output_tree/ctest.out:19/31 Test #20: examples_jpgqt ................... Passed 49.61 sec nondynamic/noninteractive/output_tree/ctest.out:20/31 Test #17: examples_epsqt ................... Passed 81.75 sec nondynamic/noninteractive/output_tree/ctest.out:21/31 Test #22: examples_ppmqt ................... Passed 47.97 sec nondynamic/noninteractive/output_tree/ctest.out:22/31 Test #23: examples_tiffqt .................. Passed 50.18 sec nondynamic/noninteractive/output_tree/ctest.out:23/31 Test #21: examples_pngqt ................... Passed 54.98 sec nondynamic/noninteractive/output_tree/ctest.out:28/31 Test #24: examples_svgqt ................... Passed 80.66 sec shared/noninteractive/output_tree/ctest.out:17/31 Test #19: examples_bmpqt ................... Passed 48.96 sec shared/noninteractive/output_tree/ctest.out:18/31 Test #20: examples_jpgqt ................... Passed 48.34 sec shared/noninteractive/output_tree/ctest.out:19/31 Test #18: examples_pdfqt ................... Passed 56.96 sec shared/noninteractive/output_tree/ctest.out:20/31 Test #17: examples_epsqt ................... Passed 80.28 sec shared/noninteractive/output_tree/ctest.out:21/31 Test #21: examples_pngqt ................... Passed 51.80 sec shared/noninteractive/output_tree/ctest.out:22/31 Test #23: examples_tiffqt .................. Passed 48.90 sec shared/noninteractive/output_tree/ctest.out:23/31 Test #22: examples_ppmqt ................... Passed 48.90 sec shared/noninteractive/output_tree/ctest.out:28/31 Test #24: examples_svgqt ................... Passed 76.18 sec static/noninteractive/output_tree/ctest.out:13/27 Test #15: examples_bmpqt ................... Passed 62.59 sec static/noninteractive/output_tree/ctest.out:14/27 Test #16: examples_jpgqt ................... Passed 58.59 sec static/noninteractive/output_tree/ctest.out:15/27 Test #14: examples_pdfqt ................... Passed 70.07 sec static/noninteractive/output_tree/ctest.out:16/27 Test #13: examples_epsqt ................... Passed 97.40 sec static/noninteractive/output_tree/ctest.out:17/27 Test #18: examples_ppmqt ................... Passed 57.96 sec static/noninteractive/output_tree/ctest.out:18/27 Test #19: examples_tiffqt .................. Passed 60.73 sec static/noninteractive/output_tree/ctest.out:19/27 Test #17: examples_pngqt ................... Passed 68.72 sec static/noninteractive/output_tree/ctest.out:24/27 Test #20: examples_svgqt ................... Passed 93.94 sec So for some unknown reason on the MinGW-w64/MSYS2 platform the ctests for both pdfqt and epsqt dramatically slow down for the static case (compared to an actual speed up on that platform for the static case for all other qt devices). And in the epsqt case (which the details show almost completed) that slowdown was sufficiently large that it ran into the default timeout limit of 1500 sec on tests done by ctest and therefore errored out. I am virtually certain this static inefficiency for these two devices for MinGW-w64/MSYS2 is a platform issue (probably for the upstream Qt4 suite of libraries) that someone will notice and fix eventually, but meanwhile we have to deal with the fact that some ctests take longer than 1500 seconds on this platform. So to work around this static library inefficiency issue for epsqt and pdfqt for this platform (and also to allow our users who happen to have really slow computers like the raspberry Pi to complete these tests) I have changed (commit ac3473f) the default ctest timeout from 1500 seconds to 15000 seconds. So please run this test again with the above platform install issues fixed (other than perl.exe and git.exe which I have presumed you want to put off dealing with until post-release) and using this latest commit. 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 __________________________ |