[Please, keep [email protected] in CC.]

dolfin/ale/PoissonND.h files need to be generated by compatible FFC.
The build system does not always trigger their regeneration. Try

 - either running 
   $ ./cmake/scripts/generate-form-files
   (You may also need to run
   $ ./cmake/scripts/generate-swig-interface)

 - or more robustly, cleaning dolfin src dir by running
   $ git clean -fdx
   in dolfin root, so that everything generated automatically from
   scratch.

Jan


On Fri, 5 Sep 2014 16:02:39 +0400
Roman Liverovskiy <[email protected]> wrote:

> Hello.
> After pulling master branches of all the FEniCS components (FFC, Fiat,
> Instant, UFL and DOLFIN) i have a new error while building DOLFIN:
> In file included from
> /home/roma/Downloads/dolfin/dolfin/ale/HarmonicSmoothing.cpp:33:0:
> /home/roma/Downloads/dolfin/dolfin/ale/Poisson1D.h: In member function
> 'virtual ufc::dofmap* poisson1d_dofmap_0::create() const':
> /home/roma/Downloads/dolfin/dolfin/ale/Poisson1D.h:899:35: error:
> cannot allocate an object of abstract type 'poisson1d_dofmap_0'
>      return new poisson1d_dofmap_0();
>                                    ^
> /home/roma/Downloads/dolfin/dolfin/ale/Poisson1D.h:711:7: note:
> because the following virtual functions are pure within
> 'poisson1d_dofmap_0': class poisson1d_dofmap_0: public ufc::dofmap
> 
> May be i should update anything else?
> 
> 
> On Thu, Sep 4, 2014 at 1:38 PM, Jan Blechta
> <[email protected]> wrote:
> 
> > [Please, keep [email protected] in CC.]
> >
> > On Thu, 4 Sep 2014 10:39:25 +0400
> > Roman Liverovskiy <[email protected]> wrote:
> >
> > > I have pulled current master branch of DOLFIN, FFC and UFL.
> > > And i use Fiat version 1.4.0, Instant version 1.4.0 from my
> > > distribution repository.
> >
> > It may not cause the problem here but generally you should pull
> > master branch from all the FEniCS components from the same
> > (reasonably close) date. FIAT and Instant are fairly easy to
> > install.
> >
> > > But the error in DOLFIN code, how can other libraries effect on
> > > this?
> >
> > DOLFIN includes ffc/ufc/ufc.h header. The one installed
> > at /usr/include/ufc.h is outdated and incompatible. There should be
> > 8 arguments in ufc::custom_integral::tabulate_tensor, see
> >
> > https://bitbucket.org/fenics-project/ffc/src/df1862de2c401aa8986a9c4808d0aed0a772fe86/ufc/ufc.h?at=master#cl-398
> >
> > Jan
> >
> > >
> > >
> > > On Wed, Sep 3, 2014 at 12:21 PM, Jan Blechta
> > > <[email protected]> wrote:
> > >
> > > > It seems like version mismatch. Have you pulled current master
> > > > branch of all the FEniCS packages?
> > > >
> > > > Jan
> > > >
> > > >
> > > > On Tue, 2 Sep 2014 19:08:31 +0400
> > > > Roman Liverovskiy <[email protected]> wrote:
> > > >
> > > > > Hello.
> > > > > I have installed FFC, FIAT, Instant and UFL. Than i have
> > > > > downloaded DOLFIN from bitbucket, but when i try to build it i
> > > > > have an error: [roma@LIV-ROMA build]$ make
> > > > > Scanning dependencies of target dolfin
> > > > > [  0%] Building CXX object
> > > > > dolfin/CMakeFiles/dolfin.dir/fem/SystemAssembler.cpp.o
> > > > > [  1%] Building CXX object
> > > > > dolfin/CMakeFiles/dolfin.dir/fem/NonlinearVariationalProblem.cpp.o
> > > > >
> > > > > [  1%] Building CXX object
> > > > > dolfin/CMakeFiles/dolfin.dir/fem/solve.cpp.o
> > > > >
> > > > >
> > > > > [  2%] Building CXX object
> > > > > dolfin/CMakeFiles/dolfin.dir/fem/LinearTimeDependentProblem.cpp.o
> > > > >
> > > > > [  2%] Building CXX object
> > > > > dolfin/CMakeFiles/dolfin.dir/fem/UFC.cpp.o
> > > > >
> > > > >
> > > > > [  2%] Building CXX object
> > > > > dolfin/CMakeFiles/dolfin.dir/fem/MultiMeshAssembler.cpp.o
> > > > >
> > > > > /home/roma/Downloads/dolfin/dolfin/fem/MultiMeshAssembler.cpp:
> > > > > In member function 'void
> > > > >
> > dolfin::MultiMeshAssembler::_assemble_cut_cells(dolfin::GenericTensor&,
> > > > > const dolfin::MultiMeshForm&)':
> > > > > /home/roma/Downloads/dolfin/dolfin/fem/MultiMeshAssembler.cpp:245:60:
> > > > > error: no matching function for call to
> > > > > 'ufc::custom_integral::tabulate_tensor(double*, double**,
> > > > > double*, const size_t&, const double*, const double*, int,
> > > > > int&)' ufc_cell.orientation);
> > > > >                                                             ^
> > > > > /home/roma/Downloads/dolfin/dolfin/fem/MultiMeshAssembler.cpp:245:60:
> > > > > note: candidate is:
> > > > > In file included from
> > > > > /home/roma/Downloads/dolfin/dolfin/ale/MeshDisplacement.h:25:0,
> > > > >                  from
> > /home/roma/Downloads/dolfin/dolfin/mesh/Mesh.h:38,
> > > > >                  from
> > /home/roma/Downloads/dolfin/dolfin/mesh/Cell.h:33,
> > > > >                  from
> > > > > /home/roma/Downloads/dolfin/dolfin/fem/MultiMeshAssembler.cpp:28:
> > > > > /usr/include/ufc.h:398:18: note: virtual void
> > > > > ufc::custom_integral::tabulate_tensor(double*, const double*
> > > > > const*, const double*, std::size_t, const double*, const
> > > > > double*, int) const virtual void tabulate_tensor(double* A,
> > > > >                   ^
> > > > > /usr/include/ufc.h:398:18: note:   candidate expects 7
> > > > > arguments, 8
> > > > > provided
> > /home/roma/Downloads/dolfin/dolfin/fem/MultiMeshAssembler.cpp:
> > > > > In member function 'void
> > > > >
> > dolfin::MultiMeshAssembler::_assemble_interface(dolfin::GenericTensor&,
> > > > > const
> > > > > dolfin::MultiMeshForm&)':
> > /home/roma/Downloads/dolfin/dolfin/fem/MultiMeshAssembler.cpp:413:60:
> > > > > error: no matching function for call to
> > > > > 'ufc::custom_integral::tabulate_tensor(double*, const double*
> > > > > const*, double*, const size_t&, const double*, const double*,
> > > > > const double*, const int&)' cell_orientation);
> > > > >                                                             ^
> > > > > /home/roma/Downloads/dolfin/dolfin/fem/MultiMeshAssembler.cpp:413:60:
> > > > > note: candidate is:
> > > > > In file included from
> > > > > /home/roma/Downloads/dolfin/dolfin/ale/MeshDisplacement.h:25:0,
> > > > >                  from
> > /home/roma/Downloads/dolfin/dolfin/mesh/Mesh.h:38,
> > > > >                  from
> > /home/roma/Downloads/dolfin/dolfin/mesh/Cell.h:33,
> > > > >                  from
> > > > > /home/roma/Downloads/dolfin/dolfin/fem/MultiMeshAssembler.cpp:28:
> > > > > /usr/include/ufc.h:398:18: note: virtual void
> > > > > ufc::custom_integral::tabulate_tensor(double*, const double*
> > > > > const*, const double*, std::size_t, const double*, const
> > > > > double*, int) const virtual void tabulate_tensor(double* A,
> > > > >                   ^
> > > > > /usr/include/ufc.h:398:18: note:   candidate expects 7
> > > > > arguments, 8
> > > > > provided
> > /home/roma/Downloads/dolfin/dolfin/fem/MultiMeshAssembler.cpp:
> > > > > In member function 'void
> > > > > dolfin::MultiMeshAssembler::_assemble_overlap(dolfin::GenericTensor&,
> > > > > const
> > > > > dolfin::MultiMeshForm&)':
> > /home/roma/Downloads/dolfin/dolfin/fem/MultiMeshAssembler.cpp:574:60:
> > > > > error: no matching function for call to
> > > > > 'ufc::custom_integral::tabulate_tensor(double*, const double*
> > > > > const*, double*, const size_t&, const double*, const double*,
> > > > > int, const int&)' cell_orientation); ^
> > > > > /home/roma/Downloads/dolfin/dolfin/fem/MultiMeshAssembler.cpp:574:60:
> > > > > note: candidate is:
> > > > > In file included from
> > > > > /home/roma/Downloads/dolfin/dolfin/ale/MeshDisplacement.h:25:0,
> > > > >                  from
> > /home/roma/Downloads/dolfin/dolfin/mesh/Mesh.h:38,
> > > > >                  from
> > /home/roma/Downloads/dolfin/dolfin/mesh/Cell.h:33,
> > > > >                  from
> > > > > /home/roma/Downloads/dolfin/dolfin/fem/MultiMeshAssembler.cpp:28:
> > > > > /usr/include/ufc.h:398:18: note: virtual void
> > > > > ufc::custom_integral::tabulate_tensor(double*, const double*
> > > > > const*, const double*, std::size_t, const double*, const
> > > > > double*, int) const virtual void tabulate_tensor(double* A,
> > > > >                   ^
> > > > > /usr/include/ufc.h:398:18: note:   candidate expects 7
> > > > > arguments, 8 provided make[2]: ***
> > > > > [dolfin/CMakeFiles/dolfin.dir/fem/MultiMeshAssembler.cpp.o]
> > > > > Error 1 make[1]: *** [dolfin/CMakeFiles/dolfin.dir/all] Error
> > > > > 2 make: *** [all] Error 2
> > > > >
> > > > > Why is it so?
> > > > >
> > > >
> > > >
> > >
> > >
> >
> >
> 
> 

_______________________________________________
fenics-support mailing list
[email protected]
http://fenicsproject.org/mailman/listinfo/fenics-support

Reply via email to