On 2015-07-07 22:32-0600 Orion Poplawski wrote: > On 07/07/2015 04:15 PM, Orion Poplawski wrote: >> Updating from 3.0.5 to 3.0.6 in Fedora Rawhide has broken plplot builds. >> New >> error: >> >> cd /builddir/build/BUILD/plplot-5.11.0/fedora/bindings/python && >> /usr/bin/swig >> -python -DPL_DOUBLE_INTERFACE -DSWIG_PYTHON -DPYTHON_HAVE_PYBUFFER -outdir >> /builddir/build/BUILD/plplot-5.11.0/fedora/bindings/python >> -I/builddir/build/BUILD/plplot-5.11.0/include >> -I/builddir/build/BUILD/plplot-5.11.0/lib/qsastime >> -I/builddir/build/BUILD/plplot-5.11.0/bindings/tcl >> -I/builddir/build/BUILD/plplot-5.11.0/bindings/tk >> -I/builddir/build/BUILD/plplot-5.11.0/fedora >> -I/builddir/build/BUILD/plplot-5.11.0/fedora/include >> -I/builddir/build/BUILD/plplot-5.11.0/fedora/bindings/python -I/usr/include >> -I/usr/include -I/usr/include -I/usr/include/python2.7 >> -I/usr/lib/python2.7/site-packages/numpy/core/include/numpy >> -I/builddir/build/BUILD/plplot-5.11.0/bindings/swig-support -o >> /builddir/build/BUILD/plplot-5.11.0/fedora/bindings/python/plplotcmodulePYTHON_wrap.c >> /builddir/build/BUILD/plplot-5.11.0/bindings/python/plplotcmodule.i >> /builddir/build/BUILD/plplot-5.11.0/bindings/swig-support/plplotcapi.i:367: >> Error: Line indented less than expected (line 2 of pythoncode) >> >> Line 367 is a function def: >> >> 367> plgcolbg( PLINT *OUTPUT, PLINT *OUTPUT, PLINT *OUTPUT ); > > turns out that this is fixed with the attached patch. The error message was > very cryptic, and I'm not sure why the docstring is being checked for > indentation, but I have a fix.
As a PLplot developer, I do not know why swig-3.0.6 is suddenly sensitive to the case where the documentation string for a given function starts with a blank (which is what Orion's patch for PLplot fixed). That sounds like a swig regression to me. Nevertheless, to work around that issue (or to provide a fix if that was an intended swig change) I have now updated the script that generates that file for PLplot master branch tip (currently PLplot commit id = 273ec0d) to produce the equivalent of Orion's patch. (This way of fixing the issue not only provides a workaround now, but also in the future just in case an extra blank is inserted by accident when editing the PLplot doc/docbook/src/api.xml file which is the source of the specially-generated file that Orion patched.) The two remaining issues discussed by Orion below appear to be swig issues alone since the PLplot octave binding relies strictly on swig to include the appropriate Octave headers into plplot_octaveOCTAVE_wrap.cxx. > > On to the next error though: > > /usr/lib64/ccache/c++ -DPLPLOT_HAVE_CONFIG_H -Dplplot_octave_EXPORTS -O2 -g > -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -fexceptions > -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches > -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -m64 -mtune=generic -fPIC > -I/builddir/build/BUILD/plplot-5.11.0/include > -I/builddir/build/BUILD/plplot-5.11.0/lib/qsastime > -I/builddir/build/BUILD/plplot-5.11.0/fedora > -I/builddir/build/BUILD/plplot-5.11.0/fedora/include > -I/builddir/build/BUILD/plplot-5.11.0/fedora/bindings/octave > -I/usr/include/octave-4.0.0 -I/usr/include/octave-4.0.0/octave > -I/builddir/build/BUILD/plplot-5.11.0/bindings/swig-support -o > CMakeFiles/plplot_octave.dir/plplot_octaveOCTAVE_wrap.cxx.o -c > /builddir/build/BUILD/plplot-5.11.0/fedora/bindings/octave/plplot_octaveOCTAVE_wrap.cxx > /builddir/build/BUILD/plplot-5.11.0/fedora/bindings/octave/plplot_octaveOCTAVE_wrap.cxx:1638:18: > > error: 'hid_t' has not been declared > save_hdf5 (hid_t loc_id, const char *name, bool save_as_floats) { > ^ > > #if defined (HAVE_HDF5) > virtual bool > save_hdf5 (hid_t loc_id, const char *name, bool save_as_floats) { > return true; > } > > This now appears to be caused by the update to octave 4.0.0. With 3.8.2: > > /usr/include/octave-3.8.2/octave/ov.h:#include "oct-hdf5.h" > /usr/include/octave-3.8.2/octave/oct-hdf5.h:#include <hdf5.h> > > so ov.h included <hdf5.h>. But now: > > /usr/include/octave-4.0.0/octave/oct-hdf5.h:#include <hdf5.h> > /usr/include/octave-4.0.0/octave/ls-hdf5.h:#include "oct-hdf5.h" > > only ls-hdf5.h or oct-hdf5.h will bring in <hdf5.h>. > > Also, octave's definition of save_hdf5 has changed from: > > bool save_hdf5 (hid_t loc_id, const char *name, bool save_as_floats) > > to > > bool save_hdf5 (octave_hdf5_id loc_id, const char *name, bool > save_as_floats); > > So it looks like Lib/octave/octrun.swg needs to get updated to handle that? > > -- > Orion Poplawski > Technical Manager 303-415-9701 x222 > NWRA/CoRA Division FAX: 303-415-9702 > 3380 Mitchell Lane or...@cora.nwra.com > Boulder, CO 80301 http://www.cora.nwra.com > 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 __________________________ ------------------------------------------------------------------------------ Don't Limit Your Business. Reach for the Cloud. GigeNET's Cloud Solutions provide you with the tools and support that you need to offload your IT needs and focus on growing your business. Configured For All Businesses. Start Your Cloud Today. https://www.gigenetcloud.com/ _______________________________________________ Plplot-devel mailing list Plplot-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/plplot-devel