[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
