← Back to team overview

dolfin team mailing list archive

Re: Problems with scons and swig-rebuilding

 

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.

Johan

> Even that didn't help. I had to remove dolfin_wrap.cc. Then
> dolfin_wrap.cc is regenerated and everything works fine.
>
> How can this be fixed?




Follow ups

References