← Back to team overview

dolfin team mailing list archive

Re: Problems with scons and swig-rebuilding

 

On Tue, Mar 18, 2008 at 10:29:40AM +0100, Johan Hake wrote:
> On Tuesday 18 March 2008 10:09:28 Anders Logg wrote:
> > After pulling the latest changeset, I get the following error when
> > building:
> >
> > dolfin/swig/dolfin_wrap.cc: In function "PyObject*
> > _wrap_PETScVector_createScatterer(PyObject*, PyObject*)":
> > dolfin/swig/dolfin_wrap.cc:40294: fel: "createScatterer" har inte en
> > medlem av "dolfin::PETScVector"
> > dolfin/swig/dolfin_wrap.cc: In function "PyObject*
> > _wrap_PETScVector_gather(PyObject*, PyObject*)":
> > dolfin/swig/dolfin_wrap.cc:40365: fel: "gather" har inte en medlem av
> > "dolfin::PETScVector"
> > dolfin/swig/dolfin_wrap.cc: In function "PyObject*
> > _wrap_PETScVector_scatter(PyObject*, PyObject*)":
> > dolfin/swig/dolfin_wrap.cc:40436: fel: "scatter" har inte en medlem av
> > "dolfin::PETScVector"
> > dolfin/swig/dolfin_wrap.cc: In function "PyObject*
> > _wrap_PETScVector_fromArray(PyObject*, PyObject*)":
> > dolfin/swig/dolfin_wrap.cc:40510: fel: "fromArray" har inte en medlem
> > av "dolfin::PETScVector"
> > dolfin/swig/dolfin_wrap.cc: In function "PyObject*
> > _wrap_PETScVector_toArray(PyObject*, PyObject*)":
> > dolfin/swig/dolfin_wrap.cc:40584: fel: "toArray" har inte en medlem av
> > "dolfin::PETScVector"
> > scons: *** [dolfin/swig/dolfin_wrap.os] Error 1
> > scons: building terminated because of errors.
> >
> > The problem is obviously that dolfin_wrap.cc needs to be regenerated
> > after an interface change. Why is this not detected by the build
> > system?
> 
> I think the scanner check the [%,#]include file.[i,h] files for changes. When 
> you set/unset a define you wont change any thing in the underlaying files and 
> SCons do not recognize it.
> 
> If this is right, we need to check for changes in optional defines, and scan 
> the included files for any appearance for ifdef's.
> 
> > Having to touch dolfin.i was one of the annoyances with the old build
> > system.
> 
> It should work fine for _actual_ file changes.

This was an actual file change (in PETScVector.h). Maybe the problem
is that this file is included from dolfin_headers.h which in turn is
included in dolfin.i? So it's not directly seen by the scanner?

-- 
Anders


Follow ups

References