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

Reply via email to