Hi Andrew: Orion, you should read this because there is a comment for you at the end with regard to testing your Fedora installation.
On 2011-08-11 13:06+0100 Andrew Ross wrote: > On Thu, Aug 11, 2011 at 10:38:39AM +0100, Andrew Ross wrote: >> On Wed, Aug 10, 2011 at 12:57:03PM -0700, Alan Irwin wrote: >>> >> >>> III. After that change >>> >>> debuild --no-lintian -us -uc -b -j4 2>&1 >| debuild.out >>> >>> failed to work. Although debuild (and dpkg-buildpackage which it is >>> the front end for) support parallel builds with, e.g, the -j4 option, >>> and so does PLplot, it looks like your Debian packaging does not >>> support that option yet. I did notice for my last try below >>> without the -j4 option that a lot of cpu time is being consumed with >>> tests. Assuming your debian package build rules are running something >>> like "make test_noninteractive" in the build tree, a parallel build >>> option would serve to really speed that up for individuals who are >>> trying to build the package themselves. >> >> Currently I'm running ctest to perform all the tests which doesn't >> parallelise. I should probably change to make test_noninteractive. I assume >> this will parallelise then. The advantage of test_noninteractive over ctest is that it has full dependencies done correctly so you don't need to run "make all" before it (which would build some stuff not actually needed for testing). OTOH, I think we should maintain ctest as well since it has dashboard potential which could become quite useful for us if somebody was willing to set up a cmake dashboard for PLplot. Modern ctest does not allow any dependencies on targets, but it does allow dependencies between tests (in fact we use that feature right now, see set_tests_properties in plplot_test/CMakeLists.txt.) It also allows parallel tests. I think that would be trivial to set up, but I will leave that to others. > > Bit more complicated than that. > > Of course debian/rules is a makefile so the -j option tries to parallelise > which fails because it includes multiple calls to cmake which must be > serialised. Including the .NOTPARALLEL target prevents parallelisation of > the top level rules file. Instead the -j option is passed down to the > plplot makefiles, where it works as expected. I've tested it and a parallel > build now seems to function as expected. Thanks for pointing this out Alan. I started with a fresh checkout, and after that debuild --no-lintian -us -uc -b -j4 2>&1 >| debuild.out just works for me and produces the following 20 debs libcsiro0_5.9.8-1_amd64.deb libplplot-ada_5.9.8-1_amd64.deb libplplot-c++9c2_5.9.8-1_amd64.deb libplplot-d_5.9.8-1_amd64.deb libplplot-dev_5.9.8-1_amd64.deb libplplot-fortran9_5.9.8-1_amd64.deb libplplot-lua_5.9.8-1_amd64.deb libplplot-ocaml_5.9.8-1_amd64.deb libplplot9-java_5.9.8-1_amd64.deb libplplot9_5.9.8-1_amd64.deb octave-plplot_5.9.8-1_amd64.deb plplot-doc_5.9.8-1_all.deb plplot-tcl-dev_5.9.8-1_amd64.deb plplot-tcl_5.9.8-1_amd64.deb plplot9-driver-cairo_5.9.8-1_amd64.deb plplot9-driver-gd_5.9.8-1_amd64.deb plplot9-driver-qt_5.9.8-1_amd64.deb plplot9-driver-wxwidgets_5.9.8-1_amd64.deb plplot9-driver-xwin_5.9.8-1_amd64.deb python-plplot_5.9.8-1_amd64.deb (Note for later reference that python-plplot is in the list.) I installed those with dpkg --install *.deb with no obvious installation errors. But then I tested that installation using the cmake-based build system for the installed examples, and I found some issues. 1. The command cmake /usr/share/doc/libplplot9/examples >& cmake.out worked, but python is incorrectly disabled because of the line set(ENABLE_python OFF) in the file /usr/share/doc/libplplot9/examples/cmake/modules/plplot_configure.cmake That file is the result of configuring the relevant bits of the build environment for the installed examples tree. So somehow, that file was produced when the Debian package build had python (temporarily?) disabled. Does that make sense as an explanation? The only way the CMake-based build and test system for the installed examples would work correctly is for one coherent build. 2. The subsequent "make test_noninteractive" fails because of permission problems. Those issues are caused by the two chmod commands in plplot_test/plplot-test.sh.cmake. I have no idea why we felt it was important to change the permissions of the testing scripts. That may be a leftover from the cvs and autotools days. But with svn and cmake you have full control of the permissions of scripts in the source tree, the build tree, and the install tree. Could you analyze those to make sure they are done correctly, remove the offending chmod lines from plplot_test/plplot-test.sh.cmake, and test the result using the cmake-based build system for the installed examples? I temporarily worked around the permissions issue by cp -a /usr/share/doc/libplplot9/examples /tmp cmake /tmp/examples >& cmake.out make -j4 test_noninteractive >& test_noninteractive.out and make -j4 test_interactive >& test_interactive.out All was well with those (pythonless) tests so your debs are looking promising. @Orion: Once the general PLplot permissions problem is straightened out by Andrew, I suggest you also try running the CMake-based build and test system for the installed examples on Fedora from an ordinary user account to insure that installation is correct. 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); PLplot scientific plotting software package (plplot.org); 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 __________________________ ------------------------------------------------------------------------------ Get a FREE DOWNLOAD! and learn more about uberSVN rich system, user administration capabilities and model configuration. Take the hassle out of deploying and managing Subversion and the tools developers use with it. http://p.sf.net/sfu/wandisco-dev2dev _______________________________________________ Plplot-devel mailing list Plplot-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/plplot-devel